locked
WSUSサーバ側クライアント一覧とWSUSクライアントの対応付け方法について RRS feed

  • 質問

  • WSUSサーバ側のクライアント一覧と、クライアントPCを1対1で
    対応付ける方法を探しています。
      ※現行、コンピュータ名で実施しているが、変更されてしまうと
        1対1で対応しなくなるという問題があります。

    そこで確認したい事項は以下の点です。
    (1)調査した限りでは、SusClientIdという値が「WSUSにおけるWSUSクライアントを識別するためのキー」
      という情報がありました。
      1対1で対応付けるキーとして使えますでしょうか?
      それとも別のキーがありますでしょうか?

    (2)【(1)でSusClientIdがキーとして使える場合】
       WSUSクライアント側で取得する方法は以下で正しいでしょうか?

      レジストリ
        所在:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate
        キー:SusClientId

    (3)【(1)でSusClientIdがキーとして使える場合】
       WSUSサーバ側でSusClientIdをクライアント一覧として出力する
       方法はありますでしょうか?
       具体的なやり方を教えていただきたいと思います。

    尚、環境情報は以下の通りです。
       [WSUSサーバ]
          WSUS(Update Services)バージョン: 3.2.7600.226
          OS: Windows Server 2008 R2 Standard Service Pack 1
       [WSUSクライアント]
          OS: Windows 7 professional SP1 32bit

       ※不足している情報がありましたら、追記いたします。

    よろしくお願いいたします。

    2016年6月20日 8:22

回答

  • チャブーンです。

    SusClientIDレジストリ値は確かに一意ではありますので、「識別に使えるか使えないか」と言われれば使えるとは思います。ですが、たとえば異なるWSUSサーバに対してクライアントを付け替えたような場合、SusClientIdも変わる気がするので、「永久不滅の割り当てID」というような考えは持たれない方がよいかと思います。ちなみに、コンピュータ名を変えた場合、IDはとくに変更されるようなことは、なかったです。

    WSUSサーバ側で、コンピュータ名とIDを表示させたい場合、以下のコマンドレットを実行してください(WSUSサーバ上でしか実行できないので注意してください)。

    Get-WSUSComputer | Select FullDomainName,Id | FT -autosize


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答の候補に設定 佐伯玲 2016年6月28日 1:11
    • 回答としてマーク 佐伯玲 2016年7月6日 8:31
    2016年6月27日 8:48
  • チャブーンです。

    少し時間が空きましたが、

    尚、教えていただいたコマンドについて、WSUS4.0の環境でのみ利用できるもののようです。
    WSUS3.0の環境での取得方法がわかりましたら、教えていただきたいと思います。

    Get-WsusClientをWSUS 3.0で実行するには、以下のコマンドが必要です。ちょっと面倒ですが。

    https://blogs.technet.microsoft.com/heyscriptingguy/2012/01/19/use-powershell-to-find-missing-updates-on-wsus-client-computers/

    [void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
    $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer('LocalHost',$False)
    $computerscope = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
    $wsus.GetComputerTargets($computerscope) | Select FullDomainName,Id | FT -autosize


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク 佐伯玲 2016年7月6日 8:31
    2016年7月5日 6:38

すべての返信

  • 少なくともAD環境では、WSUS管理下のPCのPC名を変更後再起動し、その後WSUSとの通信があると、WSUS側も自動で変更されますが、それではダメと言う事でしょうか?
    ※PC名変更テストを行い確認済

    例えばPC名を変更後WSUSとの通信がある前にすぐにシャットダウンし、変更前の名前を使って他のPCを追加する、と言うのを想定されていますか?
    ※こちらは未検証です

    2016年6月22日 9:25
  • NismoR34X 様

    ご回答ありがとうございます。
    また、返信が遅くなり申し訳ございません。

    現時点で、サーバとクライアントをマッチングする方法として「PC名」を使用しています。
        ※目的としては、1か月に1度、2000台程度のPCに対して、
          ちゃんとWSUSサーバと通信しているか?最新のパッチが適用されているか等
          の調査を行っています。
          WSUSサーバ上のログとクライアントを突き合わせするために、「PC名」での
          マッチングを行っています。
          (実際には別の担当が行っており、さらなる詳細が必要であれば、確認の上、再掲載します)

    ただし「PC名」には不確定要素があり、機械レベルでの100%のマッチングが行えません。
        ※それにより、人手での確認作業が必要となり、工数が発生します。

    確実なマッチングを行えるキーとなる情報として「SusClientId」が使えるのでは?と
    いうことで、今回の質問をさせていただいております。

    よろしくお願いいたします。

    2016年6月27日 4:58
  • チャブーンです。

    SusClientIDレジストリ値は確かに一意ではありますので、「識別に使えるか使えないか」と言われれば使えるとは思います。ですが、たとえば異なるWSUSサーバに対してクライアントを付け替えたような場合、SusClientIdも変わる気がするので、「永久不滅の割り当てID」というような考えは持たれない方がよいかと思います。ちなみに、コンピュータ名を変えた場合、IDはとくに変更されるようなことは、なかったです。

    WSUSサーバ側で、コンピュータ名とIDを表示させたい場合、以下のコマンドレットを実行してください(WSUSサーバ上でしか実行できないので注意してください)。

    Get-WSUSComputer | Select FullDomainName,Id | FT -autosize


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答の候補に設定 佐伯玲 2016年6月28日 1:11
    • 回答としてマーク 佐伯玲 2016年7月6日 8:31
    2016年6月27日 8:48
  • チャブーン様

    ご回答いただきありがとうございます。

    SusClientIDについて、「永久不滅の割り当てID」とまでは言えない旨、
    承知いたしました。ご指摘の点を考慮して使いたいと思います。

    尚、教えていただいたコマンドについて、WSUS4.0の環境でのみ利用できる
    もののようです。
    WSUS3.0の環境での取得方法がわかりましたら、教えていただきたいと
    思います。

    よろしくお願いいたします。

    2016年6月29日 8:32
  • チャブーンです。

    少し時間が空きましたが、

    尚、教えていただいたコマンドについて、WSUS4.0の環境でのみ利用できるもののようです。
    WSUS3.0の環境での取得方法がわかりましたら、教えていただきたいと思います。

    Get-WsusClientをWSUS 3.0で実行するには、以下のコマンドが必要です。ちょっと面倒ですが。

    https://blogs.technet.microsoft.com/heyscriptingguy/2012/01/19/use-powershell-to-find-missing-updates-on-wsus-client-computers/

    [void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")
    $wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer('LocalHost',$False)
    $computerscope = New-Object Microsoft.UpdateServices.Administration.ComputerTargetScope
    $wsus.GetComputerTargets($computerscope) | Select FullDomainName,Id | FT -autosize


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。

    • 回答としてマーク 佐伯玲 2016年7月6日 8:31
    2016年7月5日 6:38
  • チャブーン様

    ご回答、誠にありがとうございます。

    いただいたコマンドを確認いたします(確認には少々時間がかかりそうです)
    また、わからないことがありましたら、質問させていただきます。

    大変助かりました。ありがとうございました。

    2016年7月6日 8:02
  • チャブーン様

    確認が遅くなりましたが、ご報告させていただきます。
    結果としては、問題なく取得できたとのことです。
     ※担当の方が多忙でして、ようやく確認してもらえた次第です。。。

    ありがとうございました。

    2016年9月23日 1:48