グループポリシーとは何ですか?


31

これは、Active Directoryグループポリシーの基本に関する標準的な質問です

グループポリシーとは何ですか?どのように機能し、なぜ使用する必要がありますか?

注:これは、新しい管理者への質問と回答であり、その機能とその強力さに慣れていない可能性があります。


なぜこの質問は保護されているのに、他の人は「ここに実際の問題はない」とみなされるため、単に閉じられたり、保留にされたりしますか?わかりません。
マルキ

@Marki このメタ投稿を読む必要があります。トピックに多くの「悪い」または初心者の質問がある場合、トピックに関するすべての初心者または基本的な質問を複製できるように、トピックに関するかなりの量の一般情報を含む標準的な質問を頻繁に作成します。正規の質問。
MDマーラ

回答:


27

グループポリシーとは何ですか?

グループポリシーは、Windows 2000以降のActive Directoryドメインを実行している管理者が利用できるツールです。ドメインに参加しているクライアントコンピューターとサーバーの設定を集中管理でき、ソフトウェアを配布するための基本的な方法を提供します。

設定は、グループポリシーオブジェクト(GPO)と呼ばれるオブジェクトにグループ化されます。GPOはActive Directory組織単位(OU)にリンクされており、ユーザーとコンピューターに適用できます。GPOをグループに直接適用することはできませんが、グループメンバーシップに基づいてセキュリティフィルターまたはアイテムレベルのターゲティングを使用してポリシーアプリケーションをフィルター処理できます。

それはクールです、何ができますか?

何でも。

真剣に、ドメイン内のユーザーまたはコンピューターに必要なことは何でもできます。フォルダーリダイレクト、パスワードの複雑さ、電源設定、ドライブマッピング、ドライブ暗号化、Windows Updateなどのようなものについては、何百もの事前定義された設定があります。事前定義された設定では構成できないものはすべて、スクリプトで制御できます。サポートされているすべてのクライアントでバッチおよびVBScriptスクリプトがサポートされており、Windows 7ホストでPowerShellスクリプトを実行できます。

専門家向けのヒント: PowerShell 2.0がインストールされている限り、Windows XPおよびWindows VistaホストでPowerShell起動スクリプトを実際に実行できます。次の構文でスクリプトを呼び出すバッチファイルを作成できます。

powershell Set-ExecutionPolicy RemoteSigned
powershell \\\\server\share\script.ps1
powershell Set-ExecutionPolicy Restricted

最初の行では、そのホストでリモート共有からの署名されていないスクリプトを実行でき、2行目ではバッチファイルからスクリプトを呼び出しています。3行目は、セキュリティを最大限に高めるために、ポリシーを制限(デフォルト)に戻します。

グループポリシーオブジェクトはどのように適用されますか?

GPOは予測可能な順序で適用されます。最初にローカルポリシーが適用されます。gpedit.mscを介してローカルマシンにポリシーが設定されています。2番目にサイトポリシーが適用されます。ドメインポリシーは3番目に適用され、OUポリシーは4番目に適用されます。オブジェクトが複数のOU内にネストされている場合、GPOはルートに最も近いOUに最初に適用されます。

競合がある場合、最後に適用されたGPOが「勝つ」ことに注意してください。これは、たとえば、そのGPOの設定と親OUでリンクされた設定との間に競合がある場合、コンピューターが存在するOUでリンクされたポリシーが優先されることを意味します。

ログオンおよび起動スクリプトはクールに見えますが、それらはどのように機能しますか?

ログオンスクリプトまたはスタートアップスクリプトはDomain UsersDomain Computersグループおよびグループが所有している共有への読み取りアクセス権を持っている限り、任意のネットワーク共有で使用できます。伝統的に、それらはに存在しますが\\domain.tld\sysvol、それは要件ではありません。

起動スクリプトは、コンピューターの起動時に実行されます。これらは、ローカルマシンのSYSTEMアカウントとして実行されます。これは、コンピューターのアカウントとしてネットワークリソースにアクセスすることを意味します。たとえば、あなたが持っている共有のネットワークリソースへのアクセス持つように起動スクリプトを望んでいた場合は、UNC\\server01\share1コンピュータの名前だったWORKSTATION01あなたがいることを確認する必要がありますWORKSTATION01$、その共有へのアクセスを持っていたし。このスクリプトはシステムとして実行されるため、ソフトウェアのインストール、レジストリの特権セクションの変更、ローカルマシン上のほとんどのファイルの変更などを実行できます。

ログオンスクリプトは、ローカルログオンユーザーのセキュリティコンテキストで実行されます。ユーザーが管理者ではないことを願っています。したがって、これらを使用してソフトウェアをインストールしたり、保護されたレジストリ設定を変更したりすることはできません。

ログオンスクリプトとスタートアップスクリプトは、Windows 2003以前のドメインの基礎でしたが、Windows Serverの以降のリリースではその有用性が低下しました。グループポリシーの基本設定を使用すると、管理者は、ドライブとプリンターのマッピング、ショートカット、ファイル、レジストリエントリ、ローカルグループメンバーシップなど、スタートアップスクリプトまたはログオンスクリプトでしか実行できない多くのことを処理できます。単純なタスクのためにスクリプトを使用する必要があるかもしれないと考えている場合は、代わりにグループポリシーまたは設定があります。現在、Windows 7(以降)クライアントのあるドメインでは、複雑なタスクのみにスタートアップスクリプトまたはログオンスクリプトが必要です。

クールなGPOを見つけましたが、ユーザーに適用されます。コンピューターに適用したいです。

ええ、知っています。私はそこに行ったことがある。これは、プリンターや同様のリソースのユーザーポリシーの一部をユーザーではなくコンピューターに基づいて使用するアカデミックラボやその他の共有コンピューターシナリオで特によく見られます。何だと思う、あなたは運がいい!グループポリシーループバックモードの GPO設定を有効にします

どういたしまして。

これを使ってソフトウェアをインストールできるとおっしゃいましたよね?

はい、できます。ただし、いくつかの注意事項があります。ソフトウェアはMSI形式である必要があり、それに対する変更はすべてMSTファイルである必要があります。ORCAまたは他のMSIエディターなどのソフトウェアを使用してMSTを作成できます。トランスフォームを作成しない場合、最終結果は実行と同じになりますmsiexec /i <path to software> /q

ソフトウェアは起動時にのみインストールされるため、ソフトウェアを配布するための非常に高速な方法ではありませんが、無料です。低予算のラボ環境では、ランダムな30分のオフセットで深夜にすべてのラボコンピューターを再起動するスケジュールタスク(GPO経由)を作成しました。これにより、これらのラボでソフトウェアが最大で1日期限切れになります。それでも、SCCMLANDeskAltarisなどのソフトウェアは、オンデマンドでソフトウェアを「プッシュ」できるものが望ましいです。

どのくらいの頻度で適用されますか?

クライアントは、30分ランダム化で90分ごとにグループポリシーオブジェクトを更新します。つまり、デフォルトでは、最大120分間待機することができます。また、ドライブマッピング、フォルダーリダイレクト、ファイル設定などの一部の設定は、起動時またはログオン時にのみ適用されます。グループポリシーは、即時の迅速な修正状況ではなく、長期的な計画管理を目的としています。

ドメインコントローラーは、5分ごとにポリシーを更新します。


3
繰り返しますが、すてきな仕事です。エピックAD QAからこのページにリンクすることもできます。
EEAA

1
これありがとう。正規の回答からこれ(およびADのもの)にリンクする必要があります。
バートデヴォス

私はADのものがそこにあると思います、そして、私はメタでのレビューのためにこれを提出しました。これはまだやや不完全ですが、今夜終了することを望みます。
MDMarra

「Altaris」は、Altiris Deployment Solution(DS)のようなAltarisの特定の製品を指しますか?
ピーターモーテンセン

1
グループポリシーループバックモードのリンクは、「Windows Server 2003 R2の廃止されたコンテンツをダウンロードする」にリダイレクトします。:おそらくそれは、この(または類似の)リンクを更新する必要がありtechnet.microsoft.com/en-us/library/cc978513.aspx
ピーターGeerkens

12

グループポリシーの基本設定に関する簡単なメモ:これらの設定を使用するが、Windows XP SP2またはWindows XP SP3ワークステーションがある場合、これらは最初にWindows XPのグループポリシー基本設定クライアント側拡張機能(KB943729)をインストールする必要があります。

コンピューターコンテナーとコンピューターOU

Active Directory(AD)Computers containerのドメインルートの下にはデフォルトがありますが、これはActive Directory組織単位(OU)と間違われることがよくあります。これは実際にはであり、ではありません。これは実際にはOUではないため、グループポリシーはこのコンテナ内のオブジェクトには適用されません。この規則の例外は、で適用されるグループポリシーです。これらは、内のオブジェクトに適用される唯一のポリシーになります。ContainerOUdomain levelComputers container

デフォルトでは、事前にステージングされていないドメインに参加しているコンピューターオブジェクトは、に進みComputers containerます。

したがって、ポリシーが適用されない理由がわからない場合は、問題のオブジェクトがADの正しい場所にあることを確認してください。

GPOのバックアップ

グループポリシー管理コンソール(GPMC)を使用してGPOをバックアップできます。

  1. グループポリシー管理を開きGroup Policy Objects、バックアップするグループポリシーオブジェクト(GPO)を含むフォレストとドメインをダブルクリックします。
  2. 単一のGPOをバックアップするには、GPOを右クリックして、[バックアップ]をクリックします。ドメイン内のすべてのGPOをバックアップするには、右クリックGroup Policy ObjectsしてクリックしますBack Up All
  3. [グループポリシーオブジェクトのバックアップ]ダイアログボックスの[場所]ボックスに、GPOバックアップを保存する場所へのパスを入力するか、[参照]をクリックして、GPOバックアップを保存するフォルダーを見つけます( s)、[OK]をクリックします。
  4. [説明]ボックスに、バックアップするGPOの説明を入力し、[OK]をクリックしますBackup。複数のGPOをバックアップする場合、説明はバックアップするすべてのGPOに適用されます。
  5. 操作が完了したら、[OK]をクリックします。

グループポリシーのバックアップの優れた点は、バージョン管理が組み込まれていることです。つまり、この手順は複数回使用でき、ポリシー間の変更を追跡します。その後、ポリシーの特定のバージョンに復元できます。

Backup-GPOコマンドを使用してバックアップを自動化するPowerShellスクリプトを実行するように、スケジュールされたタスクを設定することもできます。

GPOのバックアップ先のフォルダーを(従来のバックアップ方法を使用して)バックアップします。


3

GPOをバックアップするためにスケジュールされたタスクに追加できる単純なPowershellスクリプトをお探しですか?MDOPパックのAGPMがありませんか?

どうぞ。

1つ目は、曜日のローテーションを毎日バックアップします。各フォルダー(Sunday / Monday / etc。)に事前にフォルダーパスを作成する必要があります。Test-ItemとNew-Itemが毎回処理される理由を考えたので、New-Itemは使用しませんでした。 1日目以降は本当に静的なフォルダーになります。実行するサーバーでAD Powershellモジュールを使用できるようにする必要があります。

# GPOBackupScriptDayOfWeek.PS1
# This script Backup all GPOs and save it to a folder based on the day of the week
# It runs as an automated task on SERVER and we keep a one week rotation on disk


Import-Module grouppolicy 
$date = get-date
$dayofweek = $date.DayofWeek
#Remove current backup from the folder (to alleviate space issues down the road since it won't overwrite each time)
Remove-Item \\SERVER\GPO_Backup\$dayofweek\* -Recurse -Force
#Backup current GPOs to the folder
Backup-Gpo -All -Path \\SERVER\GPO_Backup\$dayofweek

ここでも同じですが、今回はマンスリーです。繰り返しますが、1月、2月などの前もってフォルダを作成します。

# GPOBackupScript.PS1
# This script Backup all GPOs and save it to a folder each month on the first of the month
# It runs as an automated task on SERVER and we keep a one year rotation

Import-Module grouppolicy 
$month = get-date -Format MMMM
#Remove current backup from the folder (to alleviate space issues down the road since it won't overwrite each time)
Remove-Item \\SERVER\GPO_Backup\$month\* -Recurse -Force
#Backup current GPOs to the folder
Backup-Gpo -All -Path \\SERVER\GPO_Backup\$month
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.