希望您可以帮我解决在本地计算机上使用备用凭据执行脚本块的问题.我一直在论坛上搜索并做一些谷歌搜索,并找到两种可能的方法来解决我的问题:
使用方法#1我有这个代码:
$res = Invoke-Command -Credential $migratorCreds -ScriptBlock {param($one, $two) Get-LocalUsers -parentNodeXML $one -migratorUser $two } -ArgumentList $xmlPRE,$migratorCreds
Run Code Online (Sandbox Code Playgroud)
哪里Get-LocalUsers
是存储在自定义模块(*.psm1)中的自定义函数.
我的问题是每次运行此代码时都会出现以下错误:
无法使用指定的命名参数解析参数集
所以很明显我必须遗漏一些东西,你能帮我解决这个话题吗?
提前致谢...
CB.*_*CB. 28
你有的错误是因为-credential
没有-computername
不存在.
你可以这样试试:
Invoke-Command -Credential $migratorCreds -ScriptBlock ${function:Get-LocalUsers} -ArgumentList $xmlPRE,$migratorCreds -computername YOURCOMPUTERNAME
Run Code Online (Sandbox Code Playgroud)
关于 Invoke-Command cmdlet 的公认答案是正确的,但更广泛地说,cmdlet 可以具有参数集,其中定义了输入参数组,因此您不能使用不是同一参数集成员的两个参数。
如果您在使用任何其他 cmdlet 时遇到此错误,请查看其 Microsoft 文档,并查看页面顶部是否列出了不同的参数集。例如,Set-AzureDeployment的文档在页面顶部定义了三个集合。