使用现有会话输入-PSSession

时间:2017-10-06 11:43:50

标签: powershell

我使用$remote = New-PsSesion ...创建了一个会话,我想稍后以交互方式使用它。

我尝试了Enter-PSSesion -Session $remote,但它抱怨 Enter-PSSession:无法使用指定的命名参数解析参数集。使用Id参数时会发生同样的情况。

===编辑===

> New-PSSession

 Id Name            ComputerName    ComputerType    State         ConfigurationName     Availability
 -- ----            ------------    ------------    -----         -----------------     ------------
  1 Session1        localhost       RemoteMachine   Opened        Microsoft.PowerShell     Available



> etsn -Id 1
Enter-PSSession : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ etsn -Id 1
+ ~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Enter-PSSession], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.EnterPSSessionCommand


> $host


Name             : ConsoleHost
Version          : 5.1.14393.1198
InstanceId       : ab8e55cd-69ae-4587-a70a-c66f197028a4
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : sr-Latn-RS
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

1 个答案:

答案 0 :(得分:1)

正如您对问题的评论中所述,您获得此异常的原因是您将自定义函数包装在Enter-PSSession cmdlet周围。您的自定义函数显然总是指定-ComputerName参数,即使您没有使用它。

由于-Session是来自与-ComputerName不同的参数集的参数,否则您将无法使用它,除非您相应地修改Enter-PSSession周围的包装。