【发布时间】:2016-01-06 09:00:22
【问题描述】:
我正在编写一个脚本来停止和启动两个远程服务器中的服务。 这是我的问题,
在我的脚本中,我执行了 new-pssession 并使用了 invoke-command 来停止和启动服务。
我需要使用 enter-pssession 吗?
更新: 这是我的脚本需要做的。
在 server1 上,我需要停止和启动两个服务。 在 server2 上,我只需要停止并启动一项服务。
# foreach for server 1 since I need to stop and start two services. created a session for server 1
foreach($service in $services){
$session = New-PSSession -ComputerName $serverName -Credential $cred
Invoke-Command -Session $session -ScriptBlock {param($service) Stop-Service -Name $service} -ArgumentList $service
remove-pssession -session $session
}
# created a session for server 2. I need to stop and start just one service in server 2
$session = New-PSSession -ComputerName $serverName -Credential $cred
Invoke-Command -Session $session -ScriptBlock {param($service) Stop-Service -Name $service} -ArgumentList $service
remove-pssession -session $session
这是正确的做法吗?
【问题讨论】:
-
保持(远程)状态?不打开和关闭新连接? -- 比如:我是否必须在每个命令上启动一个新的 PS 控制台会话(本地)? PS:......不知道,只是猜测。一个lamer在这里玩powershell的乐趣,让我们看看大师们怎么说:)