2016-10-10 11 views
0

私はZにDからの手紙を変更したい:CD ROM Letterを変更するには?

Set-WmiInstance -InputObject (Get-WmiObject -Class Win32_volume -Filter "DriveLetter = 'd:'") -Arguments @{DriveLetter='Z:'} 

エラー:

Set-WmiInstance : Cannot bind argument to parameter 'InputObject' because it is 
null. 
At line:1 char:30 
+ Set-WmiInstance -InputObject (Get-WmiObject -Class Win32_volume -Filter "DriveL ... 
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidData: (:) [Set-WmiInstance], ParameterBindingValidationException 
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.SetWmiInstance
+0

明らかに、「Get-WmiObject」は結果を返しません。その理由を調べる必要があります。 –

+0

@AnsgarWiechersでこれを手伝ってください。 – FoxZ

+0

そのシステムにはD:ドライブがありますか? 'Get-WmiObject -Class Win32_volume -Filter 'のみの出力は何ですか?DriveLetter =' d: '" ' – BenH

答えて

2

に取り付けられた何のデバイスがありませんので、WMIクエリは、おそらく(何も返さないため、エラーが発生D:)。それを避けるために

、代わりにパイプラインを使用します。

Get-WmiObject -Class Win32_volume -Filter "DriveLetter = 'd:'" |Set-WmiInstance -Arguments @{DriveLetter='Z:'} 

Get-WmiObjectは何も返さない場合、Set-WmiInstanceが実行されません、あなたはどうやら何らかのエラー

+0

exisintのcd rom letterがDかどうかをチェックします。exisitn文字がzに変更される可能性があるかどうかを動的にチェックするもの:@mathia – FoxZ

0

ネストされたGet-WmiObjectコールを持っていません。結果を返しません。

  • システムは
  • システムは、光学ドライブが搭載されている光学ドライブを持っていませんが、別のドライブ文字
  • でエラーが発生しました(ただし、設定:あり、このために多くの理由かもしれませんエラーアクションSilentlyContinue
  • …

は、一般的に、より良いアプローチは、ドライブ文字に依存しないことですが、drive type、とマティアスはhis answerで指摘-as - コマンドを入れ子にするのではなく、パイプラインを使用します(そのため、空の結果が代わりにスキップされますエラーを投げる)。

Get-WmiObject -Class Win32_volume -Filter 'DriveType=5' | 
    Select-Object -First 1 | 
    Set-WmiInstance -Arguments @{DriveLetter='Z:'} 
関連する問題