我使用$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
答案 0 :(得分:1)
正如您对问题的评论中所述,您获得此异常的原因是您将自定义函数包装在Enter-PSSession
cmdlet周围。您的自定义函数显然总是指定-ComputerName
参数,即使您没有使用它。
由于-Session
是来自与-ComputerName
不同的参数集的参数,否则您将无法使用它,除非您相应地修改Enter-PSSession
周围的包装。