27 iis powershell iis-7 command-line-interface winrm
是否可以在另一台机器上从命令行回收 IIS7 应用程序池?
我找到了 APPCMD ( appcmd recycle apppool my-app-pool
),但它只能在运行它的主机上运行,AFAICT。
我听说有一种方法可以用 Powershell 做到这一点,但我对此一无所知,而且我显然不擅长谷歌搜索。
如果重要的话,我使用的是 Vista / Server 2008。
编辑:我发现了一个叫做WinRM 的东西,有人声称它可以自己运行 APPCMD,但我还不确定具体是如何运行的。
Jef*_*eff 28
肯,如果这是从 CMD 运行的,你可以用PSExec 来完成。这不需要在您要访问的服务器上进行安装。
只需将zip的内容复制到要远程访问的计算机的 System32 文件(不包括 ELUA 或 DLL 文件)。
然后输入CMD
类型
Psexec \\{Computer Name of ISS7 Server} %systemroot%\System32\inetsrv\appcmd recycle apppool my-app-pool
如果您的域管理员帐户不在同一个域中,则需要输入凭据以进行管理访问。有关更多信息,只需在不带参数的命令行中键入 psexec。
要从 PowerShell 远程执行此操作,您需要使用 PowerShell 远程处理或使用 WMI。
使用 Invoke-WMIMethod PowerShell cmdlet 实际上非常简单,但是您必须指定-Authentication PacketPrivacy
...,如果您需要指定不同的凭据,则可以使用参数来完成-Credential (Get-Credential)
...这是一个示例:
$pc = "serverName"
## List the app pools, note the __RELPATH of the one you want to kill:
Get-WMIObject IISApplicationPool
-Computer $pc
-Namespace root\MicrosoftIISv2
-Authentication PacketPrivacy
## Recycle a specific one:
$Name = "W3SVC/APPPOOLS/ASP.NET v4.0 Classic" ## This is the Name from above
$Path = "IISApplicationPool.Name='$Name'" ## This is the __RELPATH
Invoke-WMIMethod Recycle
-Path $Path
-Computer $pc
-Namespace root\MicrosoftIISv2
-Authentication PacketPrivacy
Run Code Online (Sandbox Code Playgroud)
我写了一个很好的函数来包装所有这些:http : //poshcode.org/2466
归档时间: |
|
查看次数: |
60563 次 |
最近记录: |