<%@ Language=VBScript %> KYO'S ROOM 【ADSI】


サービスの管理

以下のサンプルでは、指定したコンピュータのサービスの一覧を表示します。

コンピュータの ADsPath を入力してください。

ex) WinNT://kyopc


スクリプト解説

上記サンプル内で使用しているスクリプトの一部を以下に解説します。

 

strFilter = Array("Service") ' フィルタを設定します。
if adspath <> "" then
  Set objcomp= GetObject(adspath) ' コンピュータオブジェクトの取得
  objcomp.Filter = strFilter ' 取得したオブジェクトをフィルタ
end if
・・
for each member in objcomp ' すべてのサービスを取得するまでループ
  response.write(member.Name) ' サービス名の表示
  response.write(member.DisplayName) ' サービスの表示名を表示
  response.write(member.Status) ' サービスの状態を表示
  response.write(member.StartType) ' サービスのスタートアップ設定を表示
next

上記説明の Status と StartType は関数を読んで、そちらで処理しています。また、これらの値は数値で取得されるので、表示するには変換が必要です。取得した値については、サンプルコードや、下記参考資料を見てください。

また、下記のメソッドを使用することでサービスの開始や停止などの管理を Web 上で行うことが可能です。

メソッド 説明
Status 動作状態の取得
Continue 一時停止解除
Pause 一時停止
Start 開始
Stop 停止

補足

スクリプト解説の 1 行目及び 6 行目のように、オブジェクトの中身を Class によってフィルタリングできます。特にドメインオブジェクトを使用したときには、Users や Computer でフィルタすると、ユーザーやコンピュータの一覧が簡単に取得できます。

参考資料

IADsServiceOperations Property Methods
http://msdn.microsoft.com/library/psdk/adsi/if_dyna_45bn.htm