这是我的第一篇文章,我是各种职位的长期读者。
我要做的是在大量虚拟机中禁用大量服务。我有6-7个不同的环境,我创建了2个文本文件//路径,我给了变量$ vmList和$ serviceList。
当我使用(外部IP)地址在不同环境中运行它们时,它仅适用于1个环境。当我尝试使用(INTERNAL IP)地址运行时,我得到了相同的异常抛出,即它无法在机器上找到设置服务(defragsvc)然后退出循环。但是,当我登录这些机器时,它们肯定存在但尚未启动。我肯定迷失了为什么它在1个环境中工作(在机器上确认)但在其他任何帮助中都失败了
$vmList =gc C:\PowerCli\Services\Staging_1_Defrag_Kill.txt
$serviceList =gc C:\PowerCli\Services\ServicesKill.txt
ForEach ($vm in $vmList){
ForEach ($service in $serviceList){
write-host $vm
Stop-service -inputobject(Get-Service -Name $service -ComputerName $vm)-force -confirm:$false -EA SilentlyContinue
Set-Service -ComputerName $vm -Name $service -EA Stop -Startmode Disabled
Write-Host "$vm : Successfully disabled the service $service" -ErrorAction SilentlyContinue
}
}
答案 0 :(得分:0)
事实证明,我无法连接到服务控制管理器,这是一个权限错误,而不是脚本的问题。经验教训