通过Powershell中的Invoke-Command运行脚本时无法识别“ Get-IISAppPool”

时间:2019-04-18 13:51:17

标签: windows powershell iis-8

我正在尝试拉回其中一台服务器上的应用程序池列表。我正在运行Get-IISAppPool命令。这似乎在本地工作,但是当我通过远程计算机上的Invoke-Command调用脚本时,该命令不再被识别

我尝试包括以下模块:

Import-Module WebAdministration

Import-Module IISAdministration

而这些不能解决问题。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

如果您不在IIS服务器上,则不会,这些都不可用。 因此,设置一个隐式远程会话,然后重试。

# Implicit Remoting - creds must an admin on the target box.
$sess = New-PSSession -ComputerName IIS01 -Credential "$env:USERDOMAIN\$env:USERNAME"

Get-PSSession

 # Results

 Id Name       ComputerName    State         ConfigurationName     Availability
 -- ----       ------------    -----         -----------------     ------------
  2 Session2   iis01           Opened        Microsoft.PowerShell     Available

Invoke-Command -Session $sess -ScriptBlock {
Get-Command -Name '*IIS*'
}

# Results
CommandType     Name                           ModuleName          PSComputerName
-----------     ----                           ----------          --------------
Function        IIS:                           WebAdministration   iis01 
Cmdlet          Clear-IISCentralCertProvider   IISAdministration   iis01 
Cmdlet          Clear-IISConfigCollection      IISAdministration   iis01 
Cmdlet          Disable-IISCentralCertProvider IISAdministration   iis01 
Cmdlet          Disable-IISSharedConfig        IISAdministration   iis01 
Cmdlet          Enable-IISCentralCertProvider  IISAdministration   iis01 
Cmdlet          Enable-IISSharedConfig         IISAdministration   iis01 
Cmdlet          Export-IISConfiguration        IISAdministration   iis01 
Cmdlet          Get-IISAppPool                 IISAdministration   iis01 
...