"Get-IISAppPool" 当脚本是 运行 通过 Powershell 中的 Invoke-Command 时无法识别

"Get-IISAppPool" not recognised when script is run via Invoke-Command in Powershell

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

我试过包含以下模块:

Import-Module WebAdministration

Import-Module IISAdministration

这些并不能解决问题。

谁能给我指出正确的方向?

如果您不在 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 
...