无法导入PSSession用于"管理"?

时间:2015-11-05 04:50:29

标签: powershell

我已经创建了一个远程会话,我可以在会话上运行脚本块

$session = New-PSSession -ComputerName S1
Invoke-Command -ScriptBlock { Get-ChildItem c:\ } -Session $session

现在我想进行以下操作以便于输入。

Get-S1ChildItem c:\

所以我做了以下

Import-PSSession -Session $session -Module management -Prefix S1

但是,它出现了以下错误。

Import-PSSession : Running the Get-Command command in a remote session returned no results.
At line:1 char:1
+ Import-PSSession -Session $session -Module management -Prefix S1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidResult: (:) [Import-PSSession], ArgumentException
    + FullyQualifiedErrorId : ErrorNoResultsFromRemoteEnd,Microsoft.PowerShell.Commands.ImportPSSessionCommand

1 个答案:

答案 0 :(得分:1)

对我而言,将-Module management替换为-Module 'Microsoft.PowerShell.Management'时效果很好。为了能够使用远程CmdLets,并不真正需要Invoke-Command

请尝试以下方法:

$session = New-PSSession -ComputerName S1
Import-PSSession -Session $session -Prefix S1 -Module 'Microsoft.PowerShell.Management'
Get-S1ChildItem c:\

这证明模块Microsoft.PowerShell.Management中远程会话的所有CmdLets都可用,如Import-PSSession的{​​{3}}中所述。

要找出可在哪个模块中找到CmdLet,您可以使用:

Get-Command Get-ChildItem | Select-Object ModuleName