我正在学习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 }
连接到远程服务器失败,错误消息如下:客户端无法连接到请求中指定得目的.请验证目的上得服务是否正在运行并且正在接受请求.有关目的(通常为IIS或WinRM)上运行得WS-Management服务,请参阅日志与文档.如果目的是WinRM服务,请在目的上运行以下命令以分析与配置WinRM服务:“winrm quickconfig”。有关详细信息,请参阅about_Remote_Troubleshooting帮助主题。
编辑2
我找到了这个,它似乎工作。我不知道如何从停止服务的信息回来,所以我不得不使用其他方式给我。如果你知道如何请让我知道。
Stop-Service -Force -InputObject $(Get-Service -Computer myserver -Name IISAdmin)
$service = Get-WmiObject Win32_Service -ComputerName 'myserver ' -Filter "Name='IISAdmin'"
$service.State
这是可行的。我不明白为什么。我唯一能想到的是我不得不使用-武力,因为它不会停止服务器,否则,也许这是一个原因?
6条答案
按热度按时间euoag5mw1#
停止IIS(类似于在iis-Manager中的服务器上单击“右键〉停止”):
表示:
(备选方案:
gsv iisadmin,was,w3svc |spsv -pa|sasv -pa
来重新启动服务并输出结果,但在本例中,只有第二个-pa是可选的!!!FYI:gsv=获取服务,sasv=启动服务,spsv=停止服务,pa=通过)snz8szmq2#
gpnt7bae3#
您可以使用iisreset远程停止/重新启动iis:
9cbw7uwe4#
请尝试使用PsExec \Server2 -u管理员-p某个密码IIS重置/STOP
或使用PowerGUI脚本编辑器
请尝试使用
nwsw7zdq5#
我不是一个处理WMI对象的爱好者。相反,我建议将
iisreset /stop
与PowerShell远程处理结合使用。因此,本质上是这样的:您也可以将
/stop
替换为/start
,以便在远程服务器上启动IIS。如果您不想利用
iisreset.exe
而使用纯PowerShell,则可以启动/停止W3SVC
服务:并将
Stop-Service
替换为Start-Service
以重新启动它。W3SVC
服务是IIS。hwazgwia6#
还有另一种简单的停止IIS的方法,即从Powershell运行
要启动IIS,只需