我一直在搜索这里的档案,但我找不到一个简单的(即:我能理解的东西)解决我的问题的方法。我正在使用powershell和wmi更改服务帐户的密码。我可以在所有服务器上一次更改一个服务,如下所示:
sInstance
如您所见,我可以参考我想要的任何服务器以及该服务器上的任何服务。我想做的是以下
方法调用失败,因为[System.Object []]不包含名为' change'的方法。 在行:1字符:16 + $ service.change<<<< ($ NULL,$ NULL,$ NULL,$ NULL,$ NULL,$ NULL,$ NULL," newpasswordhere&#34) + CategoryInfo:InvalidOperation :(更改:String)[],RuntimeException + FullyQualifiedErrorId:MethodNotFound
只有一项服务可以正常使用
如何增强此脚本以处理这3个附加项?
谢谢
答案 0 :(得分:0)
您可能希望在上面的脚本中添加一个循环,并且您需要
param
(
[string]$File
)
$Computer = Get-Content $file
foreach ($i in $Computer){
$Service = Get-WmiObject -Class Win32_Service -computer $i -filter "name='SERVICENAME'"
$service.change($null,$null,$null,$null,$null,$null,$null,"newpasswordhere")
}
您添加Param以便可以利用这么多次,然后foreach循环将遍历.txt文件中每台计算机的代码。
现在这只回答你问题的第一部分,但应该给你一个很好的起点。