[HOWTO] Windows 2000 でサービスを管理する権利をユーザーに与える

文書翻訳 文書翻訳
文書番号: 288129 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Windows 2000 のサービスを管理する権利をユーザーに与えるいくつかの方法を説明します。 Windows 2000 のデフォルトでは、サービスの開始、停止、および一時停止を実行できるのは Administrators と Power Users のみです。この資料では、これらの権利を他のユーザーやグループに与える方法を説明します。

方法 1 : グループ ポリシーを使用して権利を与える

これらの権利は、グループ ポリシーを適用することでユーザーに与えることができます。 この方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256345 [HOWTO] グループ ポリシーを構成してシステム サービスのセキュリティを設定する方法
上の資料では、詳細な手順が説明されていますが、対応する設定がローカル グループ ポリシーに存在しないことは明記されていません。

方法 2 : セキュリティ テンプレートを使用して権利を与える

この方法は「方法 1」に非常によく似ていますが、システム サービスに関するアクセス許可の変更にセキュリティ テンプレートを使用します。これを行うには、次の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして、MMC と入力します。
  2. [コンソール] メニューの [スナップインの追加と削除] をクリックします。
  3. [追加] をクリックします。
  4. [セキュリティの構成と分析] をクリックし、[追加] をクリックします。
  5. [閉じる] をクリックし、[OK] をクリックします。
  6. MMC で、[セキュリティの構成と分析] を右クリックし、[データベースを開く] をクリックします。
  7. [ファイル名] ボックスにデータベースの名前を入力し、[ファイルの場所] ボックスの一覧でデータベースを格納する場所をクリックし、[開く] をクリックします。
  8. [テンプレートのインポート] ダイアログ ボックスで、インポートするセキュリティ テンプレートを選択します。たとえば、basicwk.inf には、Windows 2000 Professional を実行するコンピュータの標準設定用の値が含まれています。
  9. MMC で、[セキュリティの構成と分析] を右クリックし、[コンピュータの分析] をクリックします。[分析の実行] ダイアログ ボックスが表示されたらログ ファイルのパスを入力し、[OK] をクリックします。
  10. 分析が完了したら、次の手順を実行してサービスのアクセス許可を構成します。
    1. MMC の [システム サービス] をダブルクリックします。
    2. 変更するサービスを右クリックし、[セキュリティ] をクリックします。
    3. [このポリシーをデータベースに定義する] チェック ボックスをオンにし、[セキュリティの編集] をクリックします。
    4. 必要に応じてユーザー アカウントを追加し、各アカウントのアクセス許可を構成します。デフォルトでは、"開始、停止と一時停止" アクセス許可が与えられます。
  11. 新しいセキュリティ設定をローカル コンピュータに適用するには、[セキュリティの構成と分析] を右クリックし、[コンピュータの構成] をクリックします。

MMC から変更した設定をエクスポートし、その設定を Windows 2000 に付属しているコマンド ライン ツール SECEDIT を使用して複数のコンピュータに適用することもできます。SECEDIT の使用法の詳細については、コマンド プロンプトから次のように入力します。
secedit /?
: この方法で設定を適用すると、テンプレートのすべての設定が再適用されるため、他の手段で設定したファイル アクセス許可、レジストリ アクセス許可、またはサービス アクセス許可が変更されることがあります。

方法 3 : Subinacl.exe を使用して権利を与える

サービスを管理する権利を割り当てるための最後の方法は、Windows 2000 リソース キットの Subinacl.exe ユーティリティを使用します。このユーティリティの構文は次のとおりです。
SUBINACL /SERVICE \\MachineName\ServiceName /GRANT=[DomainName\]UserName[=Access]

注意事項

  • このコマンドを正常に完了させるには、コマンドを実行するユーザーに管理者の権利が必要です。
  • MachineName には、対象のコンピュータを指定します。省略すると、ローカル コンピュータと見なされます。
  • DomainName には、対象のアカウントが所属するドメイン名を指定します。省略すると、指定したアカウントがローカル コンピュータで検索されます。
  • UserName には、ユーザー名またはグループ名を指定します。
  • 'Access' には、以下の値を指定できます。
    F : フル コントロール
    R : 汎用読み取り
    W : 汎用書き込み
    X : 汎用の実行
    L : コントロールの読み取り
    Q : サービス構成の照会
    S : サービス状態の照会
    E : 依存サービスの列挙
    C : サービス変更の構成
    T : サービスの開始
    O : サービスの停止
    P : サービスの一時停止/続行
    I : サービスの問い合わせ
    U : サービス ユーザー定義の制御コマンド
    					
  • 'Access' を省略すると、F (フル コントロール) と見なされます。
  • Subinacl.exe では、ファイル、フォルダ、およびレジストリ キーに関連する同様の機能もサポートされています。詳細については Windows 2000 リソース キットを参照してください。
  • ServiceName には、サービスの短い名前を指定します。短い名前を使用するのは、ここで指定するサービス名が、次のようにレジストリでサービス固有のキーとして使用されるためです。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>
    サービス名に空白文字が含まれる場合は、次の例のようにパラメータ全体を引用符で囲んでください。
    "\\MachineName\Service Name With Spaces"

複数の変更を自動化する

Subinacl.exe には、特定のコンピュータで利用できるすべてのサービスのアクセス許可を一度に設定できるオプションはありません。ただし、次のようなスクリプトを使用することにより、上記の方法を拡張し、タスクを自動化することができます。
strDomain   = Wscript.Arguments.Item(0)'コンピュータ アカウントが所属するドメイン
strComputer = Wscript.Arguments.Item(1)'コンピュータの netbios 名
strSecPrinc = Wscript.Arguments.Item(2)'ユーザーのログイン名 : DomainName\UserName
strAccess   = Wscript.Arguments.Item(3)'与えるアクセス許可 (KB の一覧のとおり) 
 
'指定のコンピュータにバインド
set objTarget = GetObject("WinNT://" & strDomain & "/" & strComputer & ",computer")
'シェル オブジェクトを作成。後に subinacl を呼び出す際に必要
set objCMD = CreateObject("Wscript.Shell")
'サービスの一覧を取得
objTarget.filter = Array("Service")
For each Service in objTarget
 
'subinacl を呼び出してアクセス許可を設定
command = "subinacl /service " & Service.name & " /grant=" & strSecPrinc & "=" & strAccess
objCMD.Run command, 0
'変更されたサービスを報告
Wscript.Echo "User rights changed for " & Service.name & " service"
next
				

注意事項

  • 上記のスクリプトは、Services.vbs のように .vbs ファイルとして保存します。また、次のようにして呼び出します。
    CSCRIPT Services.vbs DomainName ComputerName UserName Access
    					
  • フィードバックが不要な場合は、"Wscript.Echo ..." の行をコメント アウトまたは削除します。
  • このサンプルではエラー チェックが行われません。使用時には注意してください。
  • Windows 2000 リソース キットには Subinacl.exe と同様にサービス管理の権利を操作できる別のユーティリティ (svcacls.exe) に関する記述がありますが、この記述は誤りです。

関連情報

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
269875 Windows 2000 リソース キットに SVCACLS.EXE は含まれていない

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 288129 (最終更新日 2003-09-19) を基に作成したものです。

プロパティ

文書番号: 288129 - 最終更新日: 2004年6月17日 - リビジョン: 4.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Service Pack 1
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Service Pack 1
キーワード:?
kbhowtomaster kbenv KB288129
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com