2017-09-08 19 views
0

シリアル番号を追加することで、コンピュータの説明フィールドを変更したいと考えています。 最初に私は、私たちのコンピュータのリストをエクスポート:ADを変更するコンピュータの説明

$a = Read-Host "Enter Starting of Computername" 
$a = "$a*" 

Get-ADComputer -Filter 'Name -like $a' -Properties IPv4Address,Description | FT Name,DNSHostName,IPv4Address,Description -A > C:\temp\Computer.csv 

その後、私はリストをコピーして、すべてのコンピュータのシリアル番号を取得するには、次のスクリプトを実行するためにそれを修正。

$(
echo COMPUTER:PC123;wmic /NODE: PC123 bios get serialnumber; 
echo COMPUTER:PC234;wmic /NODE: PC234 bios get serialnumber; 
echo COMPUTER:PC345;wmic /NODE: PC345 bios get serialnumber; 
) *>&1 > C:\temp\output_test.csv 

コンピュータがネットワークにある場合、私は結果受信:

COMPUTER:PC123 のSerialNumber

123xyz

をしかし、コンピュータが利用できない場合、私は、エラーを持っていますもちろん。 PC123

のSerialNumber

123xyz

COMPUTER:PC234

のSerialNumber私にとっては終わり

コンピュータのように、すべてのコンピュータのリストを持ってカウントしています

に達していません

THANKS

答えて

0

PowerShellには組み込まれていたコマンドレットあなたがそうデータをCSV形式にエクスポートすることもexport-csvを使用wmicなど

のようなツールをCMDに行く前にそれらを使用しようとする必要は活動のほとんどすべての種類のために。あなたは、フィルタのparam値に二重引用符を使用する必要があるので、

変数は単一引用符で展開されていません。

Get-ADComputer -Filter "Name -like $a" -Properties IPv4Address,Description | Select Name,DNSHostName,IPv4Address,Description | export-csv C:\temp\Computer.csv -NoTypeInformation 
    import-csv c:\temp\computer.csv | 
     ForEach-Object { 
      if(Test-Connection $_.name -quiet) 
      { 
       New-Object psobject -Property @{ Computer = $_.name; Serialnumber = (gwmi win32_bios -ComputerName $_.name).serialnumber;Reachable=$true} 

      } 
      else 
      { 
       New-Object psobject -Property @{ Computer = $_.name; Serialnumber = $null;Reachable=$false} 

      } 
    } | export-csv c:\temp\output.csv -notype 
+0

はいいですね!ありがとう。私はそれを試みた。 foreachループの結果をCSVファイルにもエクスポートするにはどうすればよいですか? – Dennis

+0

最初のエクスポートのやり方と同じように...とにかく編集を参照してください。 – Kiran

関連する問題