2016-11-22 7 views
0

私はPowershellで.csvファイルから複数のワークステーションの説明を更新しています。その後、第二にWin32_OperatingSystemクラスを使用して、情報をコンピュータの説明を更新、私は私のスクリプトは、ワークステーション名を取得するには、最初の列を見てみたい複数のワークステーションの説明をpowershellで更新する

Workstation,Description 
workstation1,description1 
workstation2,description2 

.csvファイルには、次のようになり内容を持っていますカラム。ここに私のコードです:

$myarray = Import-CSV -Path "workstations.csv" -Delimiter ',' 
$wmi = Get-WmiObject -ClassName Win32_OperatingSystem -cn $myarray.Workstation 
$wmi.Description = $myarray.Description 
$wmi.Put() 

私はに実行しています問題は、PowerShellが$wmi.Description = $myarray.Descriptionラインに到達したときに、それは私に言っていることある「プロパティ 『説明』このオブジェクトに見つけることができません。」

ここからどこに行くのかわかりません。変数の内容をwrite-hostと出力できるので、説明が変数に保存されているのを知っています....ヒントや提案はありますか?それは簡単なスクリプトのようです。

答えて

1

以下の行は、指定されたコンピュータからオブジェクトの配列を取得しているためです。

$myarray = Import-CSV -Path "workstations.csv" -Delimiter ',' 
foreach ($x in $myarray) 
{ 

$wmi = Get-WmiObject -ClassName Win32_OperatingSystem -cn $x.workstation 
$wmi.Description = $x.description 
$wmi.Put() 
} 
+0

あなたが「で」 '$によって何を意味するかについて、もう少し詳しく説明でした:

細かい完全なコードを動作するはずです

$wmi = Get-WmiObject -ClassName Win32_OperatingSystem -cn $myarray.Workstation 

あなたは、$ myarrayのとコードでのforeachを使用して試すことができますmyarray.workstation'? foreachを含むように上記を編集しても、私は同じエラーが発生します。 – Ozar

+0

@Ozarフルコードで確認できますか? –

+0

あなた、卿、岩。どうもありがとうございます。 – Ozar

関連する問題