Articles of PowerShell

testing用户是否在networking上loginPC

如何检查特定用户是否在我的活动目录networking上的特定计算机上login? 我是这个networking的pipe理员,宁愿用PowerShell来做,但我愿意接受其他的select。

有关启用不受限制的PowerShell远程处理的安全问题

我想向我的组织的IT部门build议,我们在生产计算机上启用PowerShell远程处理,使其更容易pipe理。 我觉得不受限制的访问将比处理签名容易得多: >Set-ExecutionPolicy Unrestricted 这对于生产机器来说是一个很大的禁忌吗? 这是否会打开一个重大的安全漏洞,还是会被安全地限制在那些已经拥有pipe理权限的机器上?

PowerShell脚本的电子邮件输出

我发现这个美妙的脚本,输出当前DFS backlog的状态到powershell控制台。 这很好,但我需要脚本给我发电子邮件,所以我可以安排它每晚运行。 我曾尝试使用Send-MailMessage命令,但无法使其正常工作。 主要是因为我的powershell技能非常薄弱。 我相信大部分的问题都是围绕使用Write-Host命令的脚本进行的。 虽然着色很好,我宁愿它给我发电子邮件的结果。 由于dfs服务器没有电子邮件function,我还需要能够指定邮件服务器的解决scheme。 任何帮助或提示,欢迎和赞赏。 这是代码。 $RGroups = Get-WmiObject -Namespace "root\MicrosoftDFS" -Query "SELECT * FROM DfsrReplicationGroupConfig" $ComputerName=$env:ComputerName $Succ=0 $Warn=0 $Err=0 foreach ($Group in $RGroups) { $RGFoldersWMIQ = "SELECT * FROM DfsrReplicatedFolderConfig WHERE ReplicationGroupGUID='" + $Group.ReplicationGroupGUID + "'" $RGFolders = Get-WmiObject -Namespace "root\MicrosoftDFS" -Query $RGFoldersWMIQ $RGConnectionsWMIQ = "SELECT * FROM DfsrConnectionConfig WHERE […]

在login时使用VBScript来确定是否安装了PowerShell

我的networking上有Win7和XP机器的混合。 每个用户都使用基于VBS的login脚本进行login,对于支持它的客户端,我想要显示一个信息popup窗口,如下所示 。 如何检测是否使用VBScript安装了Powershell?

使用icacls在“所有子文件夹和文件”上授予修改权限,但仅将“读取”设置为顶层文件夹

我们的Windows服务器上有一些用户文件夹上有一些相当搞砸的权限。 我想要SYSTEM和Domain Admins完全控制所有文件夹。 我希望用户只能在顶级文件夹(这是他们的主文件夹)上只读,并在所有子文件夹和文件上进行修改。 这可以很容易地通过GUI来完成,但我不知道如何编写脚本。 我从PowerShell脚本调用icacls,因为get-acl和set-acl是主要的PITA。 如果我必须使用它们,我并不反对,但是我认为调用icacls会更容易。 这是我所需要的相关代码: icacls.exe $folder /grant '$domain\$user:(OI)(CI)(M)' icacls.exe $folder /grant 'SYSTEM:(OI)(CI)(F)' icacls.exe $folder /grant '$domain\domain admins:(OI)(CI)(F)' 正如你所看到的,我正在给用户修改icacls.exe $folder /grant '$domain\$user:(OI)(CI)(M)' 。 我无法弄清楚如何使修改只应用于子文件夹和文件,同时授予只读的顶级文件夹。 所需的权限结构如下所示(只是为了清楚): -Users –M —Marra (read only to me) —-Documents (Modify) —-Scripts(Modify) —-Etc (Modify) 什么是正确的icacls语法,或者我怎么能在PS本身与set-acl?

使用PowerShellpipe理Windows防火墙很简单,甚至可能吗?

我正在服务器2012环境中进行一些POCtesting,在最初的防火墙configuration期间,我发现自己重复进入GUI,当时我真的非常想写一个脚本。 我search了一下,但我无法find任何有关新的PowerShell命令在3.0中,也没有任何通过WMI。 有什么我失踪或者这仍然是一个基于GUI的任务?

跟踪企业台式机

我的一部分工作是确保对于特定OU中的计算机,实际上正在使用什么= AD中列出的内容= SCCM中列出的内容。 这是一个25万台电脑的环境,但我特别关心一个部门的70K。 将AD与SCCM进行比较是相当容易的,但是更难以追踪那些并不存在的计算机。 我试图想出创造性的方法来解决这个问题。 我的问题是:find不存在的机器查询AD与Powershell的计算机没有loginX天的好方法? 我想在PowerShell中更复杂的任务如下:从AD中拉dnshostnames Ping我的OU中的所有主机,并成功,将它们从列表中删除。 每6个小时运行一个星期一个星期,继续删除ping成功的机器。 笔记本电脑,我将不得不处理不同。 任何其他想法,build议等?

如果最近的事件日志事件超过一个小时,则使用Powershell触发一个操作

我们有一台服务器运行我们的备份软件,而且软件有自己的事件日志。 我可以用这个命令检索最近的事件日志条目: Get-EventLog EventLogName -ComputerName server.example.com -newest 1 这给了我这样的结果: Index Time EntryType Source InstanceID Message —– —- ——— —— ———- ——- 64292 Aug 13 15:51 Information BackupSoftware 29593 Transfer of 1096 KB… 如果最近事件的时间戳超过一个小时,我想要做的就是触发一个动作(比如说启动第二个脚本)。 任何帮助,将不胜感激。

我如何根据现有的IPv4地址分配IPv6地址?

我有几百台带有静态IPv4地址的Server 2008 R2机器。 我想在每个接口上启用IPv6,然后根据它们现有的IPv4地址为它们自动分配IPv6地址。 有没有一个好的方法来做到这一点? 我写了一个power shell脚本,但是它使用“get-netadapter”等,所以它只能在我的服务器2012 R2机器上运行。

如何检测Windows中的文件夹中是否添加了任何文件?

这是一种方法来检测是否有任何文件添加到文件夹中? 包括子文件夹。 例如,检查文件夹c:\ data-files \或其子文件夹中是否添加了任何文本文件* .txt。 该文件夹也可以是另一台机器的共享文件夹。