SCE / WSUS :今すぐに更新ファイルやソフトウェアをインストールしたい その2 検索編

WSUS の API を使用して更新ファイルを検索するには、以下のようなコードを使用します。 拡張子 vbs でテキストファイルとして保存し、コマンドプロンプトより以下の書式で実行してください。 cscript hogehoge.vbs インラインで解説を入れておきますので参考にしてください。 ‘ WSUS のクライアントエージェントを使用した管理を行う場合には、ここからはじまります。’ UpdateSessionオブジェクトが、基点のオブジェクトとなります。’ ここでは、UpdateSession オブジェクトを、objUpdateSession という名前で取得します。 Set objUpdateSession = CreateObject(“Microsoft.Update.Session”)’ 検索をするにあたり、検索用のオブジェクト(Searcher オブジェクト)を取得しておきます。’ 検索用のオブジェクトは、Microsoft.Update.Session オブジェクトの ‘ CreateUpdateSearcher メソッドで取得します。Set objUpdateSearcher = objUpdateSession.CreateupdateSearcher( )WScript.Echo “更新ファイルを検索しています…” ‘ Searcherオブジェクトで検索する際に、条件を付けることができます。’ 与えられえる条件は、http://msdn2.microsoft.com/en-us/library/aa386526.aspx を’ 参照してください。’ 今回は、「インストールされていない更新ファイル」ということで、IsInstall = 0 を指定します。strSeatchCondition = “IsInstalled=0″‘ 以下はコメントアウトしていますが、Typeを指定することで、ソフトウェアなのかドライバ’ なのかを指定して絞り込むことも可能です。’ strSeatchCondition = “IsInstalled=0 and Type=’Software’ “‘ strSeatchCondition = “IsInstalled=0 and Type=’Driver’…

2

SCE / WSUS :今すぐに更新ファイルやソフトウェアをインストールしたい その1

TechEd での Essentials セッション参加者の皆様、大変お待たせしました。いろいろと技術検証を行っており、遅くなってしまいました。 SCEに限らず、Windows Update または WSUS を使用して更新ファイルを今すぐに適用するためのスクリプトをご紹介します。いや、紹介するだけではつまらないので、スクリプトを一緒に作っていきましょう。 スクリプト自体、さほど新しいわけでもなく、むかしからいろいろなサイトでご紹介されているものですが、日本語解説がついたものはあまりないみたいですので、スクリプトの勉強がてら読んでいただければと思います。 でははじめましょう。 まず、以下の図をざーっとごらんください…ちょいと大きくてすいません。 DEVな方や、スクリプトの開発になれた方にはおなじみですよね。クリックしていただくと、MSDNの当該ページに移動します。これはなにかといいますと、Windows Update Agent のオブジェクトモデルです。スクリプトを書くときに限らず、開発者の心の友でもあります。 これをご覧いただくと、なんとなく、UpdateSession というオブジェクトに便利そうな機能が詰まっているであろうことがわかります。なんとなくでよいので、そんな気分になってみてください(強引だな)。 今回は、Windows Update サイトもしくは、WSUSのサイトにアクセスして適用可能な更新ファイルが存在する場合には即座に適用するためのスクリプトを作成します。上記のオブジェクトモデルを参照すると、以下のことが予測できます。 UpdateSeacher は更新ファイルの検索に使うような気がする UpdateDownloader は更新ファイルのダウンロードに使うような気がする UpdateInstaller は更新ファイルのインストールに使うような気がする こうして “あたり” をつけたら ( というやり方が正しいかどうかはおいといて… )、もうやることはなんとなく見えてきました。 探して、ダウンロードして、インストールすればよいわけですね。 では、まず「探す」スクリプトから作りましょう。  続きは、「その2 探す編」にて。 参考サイト Searching, Downloading, and Installing Updateshttp://msdn2.microsoft.com/en-us/library/aa387102.aspx Tales from the Scripthttp://www.microsoft.com/japan/technet/community/columns/scripts/sg0705.mspx  

5

SCE:Essentials をインストールしようとすると「既にこのドメインにインストールされています」エラーへの対処

System Center Essentials をインストールしようとすると、以下のエラーが表示されることがあります。 「 Essentials は、既にこのドメインにインストールされています。既に Essentials がインストールされているドメインにはインストールできません。詳細については、ドキュメントを参照してください。 」 これは、過去に System Center Essentials をインストールしたことがあり、かつ正しくアンインストールができず、ドメインに情報が残ってしまった場合に発生します。 実を言えば、私も、先ほどこのエラーに見舞われて困惑しましたので、対処法をここに記しておきます。 01)ADSI Edit を起動 ADSI Edit は、OSのインストールCDの SUPPORT\Tools にある SUPTOOLS.MSI に含まれています。このファイルをダブルクリックしてインストール後、MMCのスナップインを使用して起動してください。起動方法の詳細は、http://technet.microsoft.com/ja-jp/library/bb124152.aspx をご覧ください。 02)ドメインに接続する ADSI Edit を起動すると、画面の左側には「ADSI Edit」と表示されるだけで、どこにも接続されていない状態です。 画面の ADSI Edit 部分を右クリックして 「Connect to 」を選択し、表示されたダイアログ画面で何も考えずに「 OK 」をクリックしてください。自動的に、ドメインに接続してくれます。 03)SCEサーバのコンピュータオブジェクトから SCESCP オブジェクトを削除 まずは、SCEサーバーだったコンピュータオブジェクトを探してください。おそらく、CN=Computers 配下かと思います。コンピュータのツリーを開いていくと、「cn=SCESCP」ってのがありませんか?これを削除してください。くれぐれもほかのオブジェクトを削除しないように気をつけて下さい。 おそらく、これでインストールができるようになっているはずです。