PowerShell循环在异常后不继续

时间:2016-08-15 15:58:26

标签: loops powershell

这是我的第一篇文章,我是各种职位的长期读者。

我要做的是在大量虚拟机中禁用大量服务。我有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
 }
}

1 个答案:

答案 0 :(得分:0)

哈,我想通了,

事实证明,我无法连接到服务控制管理器,这是一个权限错误,而不是脚本的问题。经验教训