2017-02-17 6 views
1

私のスプラットが私のInvoke-WmiMethodコマンドで機能するように見えません。私はそうのようなハッシュテーブルを宣言します。スプラット - 入力文字列が正しい形式でない

$HKU = 2147483651 

$MyParams = @{ 
    'Class' = 'StdRegProv'; 
    'Name' = 'EnumKey'; 
    'ArgumentList' = "$HKU,''"; 
    'ComputerName' = ''; 
} 

# additional code determining ComputerName... # 

$MyParams['ComputerName'] = $MyComputer; 
$Vals = Invoke-WmiMethod @MyParams 

この行は私に次のエラーを与える:

Invoke-WmiMethod : Input string was not in a correct format. 
At C:\Users\Person\Desktop\tmp.ps1:160 char:20 
+   $Vals = Invoke-WmiMethod @MyParams

あなたは問題が何ができるか知っていますか?

+3

は、それが配列でない文字列 – BenH

+0

@AnsgarWiechersですのでargumentlist' 'から引用符を削除してくださいマークが答えのように見える、そうでない場合、私は近くに同意したいです。 – BenH

+0

@BenHそれは働いた!素晴らしい。 – AlwaysQuestioning

答えて

1

はこれを試してみてください:

$HKU = 2147483651 

$MyParams = @{ 
    'Class' = 'StdRegProv'; 
    'Name' = 'EnumKey'; 
    'ArgumentList' = @($HKU,''); 
    'ComputerName' = ''; 
} 

$MyParams['ComputerName'] = $MyComputer; 
$Vals = Invoke-WmiMethod @MyParams 
+0

ソース:http://blogs.microsoft.co.il/scriptfanatic/2010/12/16/invoking-wmi-methods-in-powershell/ "ArgumentListパラメータの助けを借りて、キャストに問題があります。パラメータの値はオブジェクトの配列でなければなりません " –

関連する問題