現在Youtubeに注力してますので是非チャンネル登録お願いします!

胡田昌彦のコンピューター系チャンネル

SCCM Clientがインストール済みかどうかを判定する方法

SCCM
この記事は約2分で読めます。

SCCM Clientがすでにインストール済みかどうかを判定する必要がありました。色々と方法が考えられます。

  • インストールログ内の成功の時だけに出る文字列を探す
  • クライアントエージェントの実行ファイルの存在有無で判定する
  • レジストリ内にキーが存在するかどうかで判定する

他にも色々あると思います。 そんな中で今回は、クライアント上でサービスが存在しているかどうかを判定基準にすることにしました。具体的には以下のような感じです。

sc query CcmExec > nul
if %errorlevel%==0 goto Installed
:Not_Installed
echo “SCCMクライアントはインストールされていません。”
goto end
:Installed
echo “SCCMクライアントはインストールされています。”
goto end
:end
「CcmExec」というのがSCCM Clientのサービスの名前なのでその存在をscコマンドで確認しています。
2013/02/15追記
上記のロジックは、Windows7では正常に動作するのですが、WindowsXPでは正常に動作しないことがわかりました。Windows XPではsc query CcmExecが失敗してもerrorlevelとして0を返してくるからです。そこで以下のようにきちんとscコマンドの結果としてサービス名が表示されていることを判定するようにしました。これならWindows7, Xpの両方で動作します。その他OSは未テストですが、おそらくうまく動作すると思います。

コメント

タイトルとURLをコピーしました