2017-05-31 8 views
-1

powershellスクリプトはそのまま動作しますが、それはそれがインストールされているDCのみを表示し、それを見逃しているDCを追加しません(パッチ)。パッチがない場合でもDC名を追加するコードをどのように追加できますか?DCのget-hotfixとそれを見せていないDCを表示

$default_log = $env:userprofile + "\Desktop\report_dc_installed_Hotfixes.csv" 
$KBPatch = Read-Host "Enter the KB Number" 
get-hotfix -id $KBPatch -ComputerName ((get-adforest).globalcatalogs) | `select  @{name='ServerName';expression={$_.CSName}},HotFixID,InstalledBy,InstalledOn | `export-csv $default_log -append –NoTypeInformation 
+1

どうすればいいですか? GCサーバのリストを反復するようにコードを書き直し、もし修正されていれば '$ true'を、そうでなければ' $ false'を出力してください。 –

答えて

0

これは[未検証]私はそれを行うだろう方法です...

$default_log = $env:userprofile + "\Desktop\report_dc_installed_Hotfixes.csv" 
$KBPatch = Read-Host "Enter the KB Number" 

(get-adforest).globalcatalogs | % { 
    $hf_installed = $true 
    try { 
     $hf = get-hotfix -id $KBPatch -ComputerName $_ -ErrorAction Stop 
    } catch { 
     $hf_installed = $false 
    } 

    if ($hf_installed) { 
     $hf | `select @{name='ServerName';expression={$_.CSName}},@{name='HotfixInstalled';expression={$hf_installed}},HotFixID,InstalledBy,InstalledOn | `export-csv $default_log -append –NoTypeInformation 
    } else { 
     [pscustomobject] @{ 
      'ServerName'=$_; 
      'HotfixInstalled'=$hf_installed 
     } | export-csv $default_log -append –NoTypeInformation 
    } 
} 

ロジック説明:

  1. 我々は明示的に成功/失敗のために各ホストをテストする必要があるので、ループ (foreach-object、%)
  2. でないパッチの場合にスローされる例外をテストします(try/catch私たちは、その後

..whyは、あなただけの力を使用していませんでしたログに書き込むために情報の タイプを決定するために、成功か失敗かどうかを確認してください)私たちのコマンドで

  • を停止-ErrorAction?

  • 1

    出力には何が欲しいですか?グローバルカタログ。そこから始めよう。

    あなたは何について知りたいですか?彼らの名前は、それを選択します。彼らは修正プログラムがインストールされているかどうか。それを選択してください。

    あなたはどこですか?あなたのCSVで。そこにそれを置きます。

    (Get-ADForest).GlobalCatalogs | 
        Select-Object @{Name='ServerName';  Expression={$_}}, 
            @{Name="HotFixInstalled"; Expression={ 
            [bool](Get-HotFix -Id $KBPatch -ComputerName $_ -EA SilentlyContinue) 
            }} | 
        Export-Csv -Path $DefaultLog -Append –NoTypeInformation 
    
    +0

    プラス1はきれいで読みやすいコードです。 – notjustme

    関連する問題