1. ホーム
  2. powershell

[解決済み】Invoke-Command エラー "Parameter set cannot be resolved using specified named parameters".

2022-02-17 07:14:37

質問

ローカルコンピュータで代替の認証情報を使ってスクリプトブロックを実行しようとする問題について、助けていただけると幸いです。フォーラムで徹底的に検索し、ググってみたところ、私の問題を解決するために2つの可能な方法を見つけました。

{を使用します。 {を使用します。 Invoke-Commandを使用する {を使用します。 {を使用します。 Start-Jobを使用する {を使用します。 {を使用します。

1の方法を使うと、次のようなコードになりました。

$res = Invoke-Command -Credential $migratorCreds -ScriptBlock {param($one, $two) Get-LocalUsers -parentNodeXML $one -migratorUser $two } -ArgumentList $xmlPRE,$migratorCreds

ここで Get-LocalUsers はカスタムモジュール(*.psm1)に格納されているカスタム関数です。

問題は、このコードを実行するたびに、次のようなエラーが発生することです。

指定された名前付きパラメータを使用して、パラメータ セットを解決することはできません。

だから、私が何かを見逃しているに違いないことは明らかです。このトピックについて私を助けてもらえますか?

ありがとうございました。

解決方法は?

このエラーの原因は -credential なく -computername は存在し得ない。

この方法で試してみてください。

Invoke-Command -Credential $migratorCreds  -ScriptBlock ${function:Get-LocalUsers} -ArgumentList $xmlPRE,$migratorCreds -computername YOURCOMPUTERNAME