2017-02-07 5 views
0

私がやっていることは、私の会社の多数の資産から100以上の特定の情報を収集することです。複数のコンピュータに関する特定のイメージとハードウェア情報を収集する

$assets = Import-Csv 'c:\users\xxxxx\desktop\tex docs\assets.txt' 

foreach ($asset in $assets) { 
    Get-CimInstance Win32_OperatingSystem | 
    Select-Object CSname, OSArchitecture, version, BuildNumber, OSType, InstallDate, 
        operatingsystemsku, ServicePackMajorVersion, encryptionlevel | FL 
} 

しかし、私はそれは私の資産に関する情報を返すリストを持っているにもかかわらず:

テキストファイルには、ちょうど、コンピュータのホスト名のリスト

desktop12345 
desktop23456 
etc.

は、ここで私がこれまで持っているものですされています。私は最初のセクションでGet-WmiObject -Class Win32_Desktop -ComputerNameを置き換える必要があると思っていますが、100%はどのようにフォーマットするべきかはわかりません。

たぶん、このような何か:

$assets = Import-Csv 'c:\users\xxxxx\desktop\tex docs\assets.txt' 

foreach ($asset in $assets) { 
    Get-WmiObject -Class Win32_OperatingSystem -ComputerName | 
    Select-Object CSname, OSArchitecture, version, BuildNumber, OSType, InstallDate, 
        operatingsystemsku, ServicePackMajorVersion, encryptionlevel | FL 
} 

答えて

2

ここでは、それがまっすぐにコンピュータのリストアップだと仮定して、テキストファイルのフォーマットに応じて、推測です。単なるリストではない場合は、質問を編集してファイルの外観を表示してください。

$assets = Get-Content 'c:\users\xxxxx\desktop\tex docs\assets.txt' 

$output = foreach ($asset in $assets) { 
    Get-WmiObject -class Win32_operatingSystem -ComputerName $asset | 
     Select-Object CSname, OSArchitecture, version, BuildNumber, OSType, InstallDate, operatingsystemsku, ServicePackMajorVersion, encryptionlevel 
} 
$output | fl 

編集:アンスガーWiechersの提案

$assets = Get-Content 'c:\users\xxxxx\desktop\tex docs\assets.txt' 
Get-WmiObject -class Win32_operatingSystem -ComputerName $assets | 
    Select-Object CSname, OSArchitecture, version, BuildNumber, OSType, InstallDate, operatingsystemsku, ServicePackMajorVersion, encryptionlevel | 
    fl 
+0

ありません、外出先、 は、Get-WmiObjectコマンドごとに簡素化された

:RPCサーバーを利用できません。 (HRESULTからの例外:0x800706BA) 行:5 char:1 + Get-WmiObject -class Win32_operatingSystem -ComputerName $ asset | Select-Object ... – Matt

+0

は、テキストファイルを見ずに正しく見えます。 "$ assett"または分割が必要な場合があります。 –

+1

新しいエラーメッセージは、WMI経由でそのコンピュータに接続できないことです。考えられる原因は '$ asset'からの不正確な値であり、コンピュータがオンでないか、ファイアウォールされています。ファイルから最初のエントリを取り出し、手動でコマンドを実行してみてください。例えば'Get-WmiObject Win32_OperatingSystem -ComputerName" desktop12345 "は動作しますか? – BenH

関連する問題