Articles of PowerShell

SCCM应用程序检测 – encryption的powershell脚本

对应用程序部署types使用SCCM powershell脚本检测时,是否可以使脚本/模糊不清以致SCCM控制台用户无法读取? 我正在尝试解决SCCM控制台用户过多的问题,他们可以查看应用程序检测规则/值,然后窃取他们的工作站以避免强制部署。

从域和受信任域中检索angular色或参数

我想从域服务器和受信任的域中检索有关这些已安装angular色及其参数的信息(如果可能),而不是使用cmdlets,powershell运行的当前计算机。 据我所知, get-windowsfeature能够获得我所在的当前计算机中所有可用和安装的angular色。 有没有机会获得这些信息?

在不使用WinRM的情况下将远程计算机设置为启用DHCP

如何设置远程计算机使用DHCP而不是静态IP地址? 我已经尝试使用Set-NetIPInterface -DHCP Enabled但是这需要在我的networking上禁用的WinRM。 我怎样才能使用内置的Windows技术,如Netsh(我不能下载PSExec)。

PowerShell脚本查找卸载的Windows更新需要1小时运行?

我最近安装了PRTGnetworking监视器,并添加了一个传感器来报告优秀的更新; 这是PRTG。 在我的服务器2012R2服务器(域控制器和文件服务器)中,2个脚本在大约10秒内运行,但是在我的旧版Server 2012(terminal服务器)上,这需要45分钟到1小时的时间! 我通过运行这个发现了这一点: Measure-Command {$ searcher =(New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher(); $ searcher.Search(“Type ='Software'”)。 Sort-Object -Property Dates -Descending | ft -autosize IsInstalled,MsrcSeverity} 运行期间没有错误报告。 谁能澄清为什么要花这么长时间? 谢谢

在PowerShell脚本中排除OU

我有以下脚本: #Script uses quest powershell commandlets which can be downloaded for free from quest website # http://www.quest.com/powershell/activeroles-server.aspx #Specify the OU you want to search for inactive accounts $SearchOU=“OU=Sites,DC=nl,DC=example,DC=com" #Specify the OU you want to move your inactive computer accounts to #$DestinationOU=“CN=Computers,DC=**,DC=example,DC=com" #Specify the number of days that computers have been inactive for $NumOfDaysInactiveFor = 100 […]

Exchange 2013新邮箱searchsearchquery结合两个条件

我正在用一个复杂的查询使用PowerShell进行电子邮件search,我遇到了两个条件相结合的麻烦。 我有一个我想要search的电子邮件地址列表,以及接收date列表,所以我正在search电子邮件到/从这些地址在这个date列表的DL邮箱充满。 如果我从限制date中分离出来,我会得到适当数量的点击。 如果我将date从地址中分离出来,我也会得到适当的点击次数。 但是,如果我试图结合这两个条件,我什么也得不到。 这两个条件可能没有重叠,但是极不可能。 有没有人有任何成功做一个痛苦的具体search使用新的邮箱search? 这是我的新的邮箱search的例子(我有更多的date和地址/地址比这个): new-mailboxsearch -Name "MySearch" -SourceMailboxes "HumanResources" -SearchQuery {"received:01/01/2017 OR received:04/01/2017 OR received 06/01/2017" -AND "FROM:[email protected] OR TO:[email protected] OR FROM:[email protected] OR TO:[email protected]"}

GWMI – 通过脚本查找域控制器是物理的还是虚拟的

我试图创build一个脚本提取,但输出不是我想要的。 $Servers = Get-ADDomainController -Filter * | Select-Object Name foreach($server in $servers) { $compsystem = gwmi -q "Select * from win32_computersystem" | Select Model write-output $Server is $compsystem" } 输出是这样的: @ {Name = ServerName}是@ {Model = Proliant DL360 G6} 服务器名称是不同的,但模型是相同的,所以我认为它是在第一台服务器之后的连续循环。 任何ideeas? 谢谢,

使用PowerShell创build具有FQDN和智能主机的新SMTP虚拟服务器

我一直在试图创build一个新的SMTP虚拟服务器(IIS 6),但我无法find任何有关如何创build一个新的信息,只是重新configuration现有的。 你怎么能创build一个新的和设置FQDN和智能主机? 我对Powerhell和WMI很陌生。

运行powershell.exe作为服务,或者帮我find一个替代解决scheme

简介:无论用户是否login,我都需要在后台持续运行Powershell脚本。 这是在Server 2012上。 我运行了以下命令: sc.exe create "MyService" binPath="powershell.exe 'c:\myFolder\myScript.ps1'" 该命令成功运行。 但是,当我开始这个服务的时候,它立刻就出错了,服务没有及时响应。 我知道,将Powershell作为服务运行是违背最佳实践的,但这甚至有可能吗? 我得到的最好的build议是运行这个脚本作为一个计划任务,而不是一个服务。 这是有道理的,但我的安全人员已启用GPO选项“networking访问:不允许存储密码和凭据”。 当没有用户login时,这可以防止任务pipe理器使用正确的凭据运行任务。 我为什么要这样做? 我们有一个只能以窗口模式(而不是服务)运行的旧程序,并将stdout和stderr都打印到屏幕上。 这意味着(a)用户必须每天24小时login到该服务器,并且(b)没有日志文件。 如果在发生错误时没有注意屏幕,则错误将向右滚动。 可执行文件在新窗口中启动,因此redirect操作符对此没有影响。 当我们replace这个程序时,我需要它(a)在用户注销或者重新启动后始终运行,(b)把stdout和stderr写入日志文件。 我用Powershell简单的Powershell脚本解决了第二个问题: "Program started at $(get-date)" | Out-File c:\myFolder\CrapProgram.log -append & "c:\myFolder\CrapProgram.exe" | Tee-Object c:\myFolder\CrapProgram.log 这将启动Powershell中的程序。 它的输出既指向Powershell窗口又指向日志文件。 现在,如果我可以让这个脚本在没有人login的时候运行,并且让它在电脑启动时开始,并且让我的低级支持团队可以轻松停止并轻松启动,那么我会做生意。 这就是为什么我要将Powershell注册为服务。 如果有更好的解决办法,让我知道。

我怎样才能从PowerShell运行这个WMIC命令

wmic useraccount其中name ='旧用户名'重命名“新用户名” 我在cmd上运行这个代码,但发现它运行在powershell总是提示错误“WMIC.exe:我 – 无效的别名动词,我是旧用户名,我们是我想要的新用户名”