【发布时间】:2012-05-23 21:04:31
【问题描述】:
我正在学习 PowerShell 并尝试在远程服务器上停止 IIS。
我正在使用以管理员模式启动的 PowerGUI 脚本编辑器。
我有这个代码
$service = Get-WmiObject Win32_Service -ComputerName 'myserver' -Filter "Name='IISAdmin'"
$service
$service.StopService();
$service.State
状态总是以运行状态返回。我不知道为什么它没有停止。
编辑
运行时出错
Invoke-Command -ComputerName 'myserver' { Stop-Service IISAdmin }
连接到远程服务器失败并显示以下错误消息: 客户端无法连接到请求中指定的目的地。 验证目标上的服务是否正在运行并且 接受请求。查阅日志和文档以获取 在目标上运行的 WS-Management 服务,最常见的是 IIS 或 赢RM。如果目标是 WinRM 服务,请运行以下命令 目标上的命令以分析和配置 WinRM 服务: “winrm 快速配置”。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。
编辑2
我发现了这个,它似乎有效。我不知道如何从 Stop-Service 取回信息,所以我不得不使用其他方式将其发送给我。如果你知道怎么做,请告诉我。
Stop-Service -Force -InputObject $(Get-Service -Computer myserver -Name IISAdmin)
$service = Get-WmiObject Win32_Service -ComputerName 'myserver ' -Filter "Name='IISAdmin'"
$service.State
这行得通。我不明白为什么。我唯一能想到的是我必须使用 -Force 否则它不会停止服务器所以也许这是一个原因?
【问题讨论】:
标签: iis powershell