ラベル グループポリシー の投稿を表示しています。 すべての投稿を表示
ラベル グループポリシー の投稿を表示しています。 すべての投稿を表示

2014/02/16

IE10、IE11プロパティのグループポリシー適用方法。

IE10がでてかなり時間が経っているので、いまさらな情報かもしれないですが、
びっくりした事象なのでメモ。
17

IE9までは、Proxyや、トップページ設定をGPOで行う場合は以下の項目を編集すればよかった。
image

しかし、IE10以降からは、上記箇所を設定してもGPOは反映されなくなる。
というか、サーバにIE10を入れる、あるいはWindowsServer2012にすると
上記設定項目自体がなくなる。


image
(WindowsServer2012でGPOを見た時の場合)


2010/08/18

ActiveDirectoryでの監査ポリシーを考えてみる

ADを運用していると、
オブジェクトの変更をしたりログイン・ログオフしたときの様々なログを取得したいーという要望があります。
そんな時は、ADによる 監査ポリシーを使用するという手段がありました。
しかし、監査ポリシーの使用は精度があまり高くない、使いにくいという話もちらほら聞こえたりしていて
結局積極的に使用を控えていました。
しかし、2008R2Serverも浸透している現在、少し立ち戻って本当に使えないのか少し検証してみたいと思います。

・監査ポリシーとは
Technet 監査ポリシー
http://technet.microsoft.com/ja-jp/library/cc730601%28WS.10%29.aspx
上記にあるように、GPOによる設定で様々な「監査」を実施することで、セキュリティログへ情報を書き出します。
設定できる監査項目は以下のとおり。
http://technet.microsoft.com/ja-jp/library/cc787176%28WS.10%29.aspx
---
http://technet.microsoft.com/ja-jp/library/cc787567%28WS.10%29.aspx

---
http://technet.microsoft.com/ja-jp/library/cc737542%28WS.10%29.aspx

---
http://technet.microsoft.com/ja-jp/library/cc776774%28WS.10%29.aspx
---
http://technet.microsoft.com/ja-jp/library/cc728087%28WS.10%29.aspx
---

残り4つの監査項目はまた次回。
監査ポリシーの問題点や、チューニングについてもおいおい調べていきたいと思ってます。

2010/06/01

サーバのグループポリシーのリンク監視の方法を模索してみる その3

さらにグループポリシーリンク監視の模索の続き。
サーバのグループポリシーのリンク監視の方法を模索してみる その1
サーバのグループポリシーのリンク監視の方法を模索してみる その2

前回、前々回とポリシー編集とリンクの付与の比較を出力する方法を模索し、
スクリプトを作ってみました。処理内容はこんな感じ。


エラー時の動作などはまったく組み込んでないので参考程度でどぞ。
#CheckGPO

Import-Module activedirectory
Import-Module grouppolicy

#origpoファイルの場所
$workpath="C:\hogehoge\"

#メール配信先設定
$smtpHost = "SMTPサーバアドレス"
$mailfrom = "FROMのアドレス"
$mailto = "メール配信先"
$mailsubject = "GPOCheckログ"
$mailer = New-Object System.net.mail.smtpclient($smtpHost)

function comparegpo ($crlink, $orilink, $crgpo, $origpo) {
    
#gpo設定 変更された場合は新しいGPOのバックアップを行い oriファイルを更新
    compare-object $crgpo $origpo -property modificationtime,gpostatus,displayname | Set-Variable diffgpo
    if ($diffgpo) { 
        "$(get-date) :--GPO変更が発生しました"
        $diffgpo | sort displayname | ft -AutoSize
    $timename=$(Get-ItemProperty $workpath\origpo.xml).LastWriteTime -replace "[/,:, ]",""

    $diffgpo | ? { $_.sideindicator -eq "<=" } | % { "backup実施"; backup-gpo $_.displayname -path $workpath\gpbackup | fl }
    move-item $workpath\origpo.xml $workpath\log\$timename"gpo.xml" | Out-null
        $crgpo | Export-Clixml $workpath\origpo.xml
     }

#link設定  変更された場合は oriファイルを更新
    compare-object $crlink $orilink -Property target,displayname,enabled | Set-Variable diffgpl
    if ($diffgpl) { 
        "$(get-date) :--GPO Linkに増減が発生しました"
        $diffgpl | sort displayname | ft -AutoSize
    $timename=$(Get-ItemProperty $workpath\orilink.xml).LastWriteTime -replace "[/,:, ]",""
    move-item $workpath\orilink.xml $workpath\log\$timename"orilink.xml"
        $crlink | Export-Clixml $workpath\orilink.xml 
    }

}

#origpo存在チェック
if (test-path "$workpath\origpo.xml"){
    $origpo=Import-Clixml "$workpath\origpo.xml"
} else {
    "origpo.xml NotFound"
    get-gpo -all | Export-Clixml $workpath\origpo.xml
    return
}

if (test-path "$workpath\orilink.xml"){
    $orilink=Import-Clixml "$workpath\orilink.xml"
} else {
    "orilink.xml NotFound"
    Get-ADOrganizationalUnit -Filter 'Name -like "*"' | % { Get-GPInheritance -Target $_ } | ? { $_.gpolinks -ne "" } | % { $_.path; $_.gpolinks } | Export-Clixml $workpath\orilink.xml
    return
}


#現在のOU状態の取得
$crlink = Get-ADOrganizationalUnit -Filter 'Name -like "*"' | % { Get-GPInheritance -Target $_ } | ? { $_.gpolinks -ne "" } | % { $_.path; $_.gpolinks }
$crgpo = get-gpo -all


#比較対象を関数で渡し、戻り値が存在した場合にはメールを出す
$result=comparegpo $crlink $orilink $crgpo $origpo

if ($result) { 
    $mailbody=[string]::join("`r`n", ($result | out-string -width 200 ))
    $mailer.send($mailfrom, $mailto, $mailsubject, $mailbody )
    $result | out-string -width 200 > $workpath\recent.log
    $result
    "変更が発生し、メールを出しました"
}
$work フォルダの配下にlog フォルダと、 gpbackupフォルダを用意してください。
適当にGPOを変更かけて、リンクをつけたあとにスクリプトを実行してみました。


あとはこのスクリプトを一定時間のタスクで回しておけば、
多少の監視にはなるかなぁと。

結局、サイトのGPOは対応できなかったけどなッッ

2010/05/24

サーバのグループポリシーのリンク監視の方法を模索してみる その2

前回の続き
前回は、OUのリストを取得し、そこに貼られているGPOを出力するということをやりました。
で、OUに貼られているGPOはとれてもサイトに貼られたGPOはとれないね、というところまでやりました。

・・・まぁ、サイトに関するGPOはとりあえずおいとく(笑)
できるところを固め、そこから順次付け足すというのが 僕の今ままでの手法なので
とりあえずできそうなところからやってみます。
ということで、オリジナルGPOと変更したGPOを比較する手法を今回はやってみます。


前回はリンクに関することしか触れませんでしたが、
PowerShell v2 のgrouppolicy モジュールにはGet-GPO というGPO情報を取得できるコマンドがあります。

PS > Import-Module grouppolicy
PS > get-gpo -all

 -All オプションをつけることで、すべてのGPOの情報を取得できます。
情報としては、Statusや、変更時刻などが記されているので、この情報を保存します。
PowerShellだとオブジェクトはXMLファイルとして保存できるので、それを利用してみます。
PS > Get-GPO -All | Export-Clixml -Path .\origpo.xml
では、試しにGPOを変更して、比較してみましょう。
↓が現在のGPO

GPOtest1を内容変更、GPOtest2を「すべての状態を無効」 GPOtest4を削除してみます。

では、さっき保存したorigpo.xml と現在のGPOを比較してみます。
PS > $origpo=Import-Clixml .\origpo.xml
PS > $crgpo=Get-GPO -All

PS > Compare-Object $crgpo $origpo -Property displayname,modificationtime,GpoStatus | sort displayname


表示名、変更時刻、ステータスを比較対象として出力してみました。
ちゃんと、変更された、削除されたGPOが出力されていますねー。
これを定期的に実行、タスクに組み込むことで変更に対する監視ができるのではないでしょうか。
前回のOUリンクも同じ方法でオブジェクトを保存し、リンクの比較をしてみるとよいかもですね。

・・でも、サイトのやりかたはやっぱりわからんw

2010/05/19

サーバのグループポリシーのリンク監視の方法を模索してみる


さて、久々の更新です。
独りよがりで描かず、今後は定義を再確認しつつ
わかりやすく絵で表現していこうかなーと思っていたのですが、
少し作ってみたいPowerShellのスクリプトができたので、
やっぱり今回もPowerShellのメモ描きですw

その作ってみたいスクリプトとは・・


他に良い案があればみなさんに教えてもらうとして・・(笑)
とりあえず、泥臭い手段でPowerShellを使って模索してみます。

PowerShell v2 になってからADに関するモジュールが追加されたので、それを利用してみましょう。
とりあえず、ActiveDirectory と、GroupPolicy のモジュールを追加してみる。
PS > Import-Module activedirectory
PS > Import-Module grouppolicy
これにより、ADやグループポリシーに関するコマンドを使用することができます。
PS> Get-Command -module activedirectory


CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Add-ADComputerServiceAccount    Add-ADComputerServiceAccount...
Cmdlet          Add-ADDomainControllerPasswo... Add-ADDomainControllerPasswo...
Cmdlet          Add-ADFineGrainedPasswordPol... Add-ADFineGrainedPasswordPol...
Cmdlet          Add-ADGroupMember               Add-ADGroupMember [-Identity...
Cmdlet          Add-ADPrincipalGroupMembership  Add-ADPrincipalGroupMembersh...
PS > Get-Command -module grouppolicy


CommandType     Name                            Definition
-----------     ----                            ----------
Cmdlet          Backup-GPO                      Backup-GPO -Guid -Pat...
Cmdlet          Copy-GPO                        Copy-GPO -SourceGuid ...
Cmdlet          Get-GPInheritance               Get-GPInheritance [-Target] ...
Cmdlet          Get-GPO                         Get-GPO [-Guid] [[-Do...
Cmdlet          Get-GPOReport                   Get-GPOReport [-Guid] ...
 さて、では例として下記のようにGPOがリンクされていた場合。

GPOのリンクが何がついているかを見るには、 Get-GPInheritance コマンドレットを使います。
PS> Get-GPInheritance -target "OU=GroupA,OU=UserList,DC=furyu,DC=local"




Name                  : groupa
ContainerType         : OU
Path                  : ou=groupa,ou=userlist,dc=furyu,dc=local
GpoInheritanceBlocked : No
GpoLinks              : {GPOtest1, GPOtest2}
InheritedGpoLinks     : {GPOtest1, GPOtest2, Default Domain Policy}
 ちょっとこれだけだとわかりづらいから、 GpoLinks だけを取り出してみる。
PS > Get-GPInheritance -target "OU=GroupA,OU=UserList,DC=furyu,DC=local" | % { $_.gpolinks }


GpoId       : 09ecc96a-2d91-4594-8474-4404e82241d2
DisplayName : GPOtest1
Enabled     : True
Enforced    : False
Target      : ou=groupa,ou=userlist,dc=furyu,dc=local
Order       : 1


GpoId       : 72e4f0a0-7b01-4944-9fba-6ad14faefb49
DisplayName : GPOtest2
Enabled     : True
Enforced    : False
Target      : ou=groupa,ou=userlist,dc=furyu,dc=local
Order       : 2
これで、 OUが "OU=GroupA,OU=UserList,DC=furyu,DC=local" のかかっているリンクのGPOをとりだすことができました。
しかし、監視するとなると全OUのリンク状況を知らないといけないですよね。
というわけで、全OUを列挙してみましょう。
OUを出すには、ActiveDirectoryモジュールを追加してできた、Get-ADOrganizationalUnit コマンドレットを使います。
PS > Get-ADOrganizationalUnit -Filter 'Name -like "*"'


City                     :
Country                  :
DistinguishedName        : OU=Domain Controllers,DC=furyu,DC=local
LinkedGroupPolicyObjects : {CN={6AC1786C-016F-11D2-945F-00C04fB984F9},CN=Polici
                           es,CN=System,DC=furyu,DC=local}
ManagedBy                :
Name                     : Domain Controllers
ObjectClass              : organizationalUnit
ObjectGUID               : ee6dfe99-a1f5-4579-b810-d12d22fcdfff
PostalCode               :
State                    :
StreetAddress            :
 これで全OUを取り出せるので、このオブジェクト群を変数にいれてしまいます。
PS > $oulist=Get-ADOrganizationalUnit -Filter 'Name -like "*"'
 では、この変数を利用してリンクが貼られているOUとそのGPOを出してみましょう。
PS > $oulist | % { Get-GPInheritance -target $_ } | ? { $_.gpolinks -ne "" } | fl -Property path,gpolinks


Path     : ou=domain controllers,dc=furyu,dc=local
GpoLinks : {Default Domain Controllers Policy}


Path     : ou=groupa,ou=userlist,dc=furyu,dc=local
GpoLinks : {GPOtest1, GPOtest2}


Path     : ou=groupb,ou=userlist,dc=furyu,dc=local
GpoLinks : {GPOtest2, GPOtest3, GPOtest1, GPOtest4}

あとは、このオリジナルのリストと、取得したリストを比較するスクリプトを定期的にタスクで流して差異がでたら報告、みたいな作りをさせればなぁと思ったのですが。


そんなわけで、もう少しやり方考えなきゃなぁと思ってます。

2010/04/16

クラシック表示のシェルをオンにする


この時期はリプレースがあったりして、当然7も新たにドメインに参加することになったりしてます。
で、今回発覚したのがGPOの「クラッシック表示のシェルをオンにする」の機能変更。

このポリシー自体は、エクスプローラをクラッシック表示に切り替え、
エクスプローラーの処理の負担や消費メモリ量の軽減させ軽快な動作をはかることができるのですが。。

しかし、今までは「有効」にすることで強制的にダブルクリックになっていたのに
7からは「有効」にするとシングルクリックが適用されるという・・。ひどいッッ
混在している環境だったらどうやって統一させろというんだろう・・。

ちなみに、フォルダオプションを見ても見た目上は「ダブルクリックで開く」になってます。
とりあえず、現状適用されているかどうかを見る場合は、レジストリを見るとてっとり早いです。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
ClassicShell  DWORD値


クラッシック表示のシェルに関してはこちらのブログで詳しく紹介されていますので、どうぞ。
attosoft.info Blog
http://attosoft.info/blog/win-accel/item-useclassicshell/

2010/03/15

ループバック処理


最後は、駆け足ですが。
動作としては、マシン起動したあとにコンピュータにつけられたコンピュター構成のGPOが適用され
その後、ユーザーログインした時に、ユーザーにかけられたGPOが適用、
最後にループバック処理を実施している場合はコンピュータにかけられたユーザー構成GPOが適用されます。

設定手順は下記の通り。
ユーザー構成をコンピュータごとに設定するには、次の手順を実行します。
  1. グループ ポリシー Microsoft 管理コンソール (MMC) で [コンピュータの構成] を展開します。
  2. [管理用テンプレート]、[システム] を順に展開し、[グループ ポリシー] をクリックし、[ユーザー グループ ポリシー ループバックの処理モード] を有効にします。
 3回に分けて描きましたが、いずれにせよ、どうGPOを管理するかがポイントだと思います。
グループポリシーオブジェクトの置き場所はツリー構造じゃないので、
数が増えていくにつれて管理が困難になっていくので困る。
他にも何かGPOの管理手順で良い方法とかあれば教えて頂ければ嬉しいです。

2010/03/11

サイト構成とGPO


とはいえ、部署内において通常は一元化されたポリシー適用する、
というのが普通だったのでこの方式でだいたいまかなうことができていた。
どうしてもというのであれば、
次回取り上げるであろうGPOのセキュリティ設定によって変化をつけたりする方法もある。
あとはプロファイルによる設定変更で対処はしていた。

しかし、2008Serverになり、ポリシーのみならず基本設定による管理も進んで行くと思うので
やっぱりGPOのループバック処理 が必要となってきそうです。

2010/03/10

グループポリシー ループバック処理

中途半端なところで切れてますが、また続きは明日以降に。
結局、コンピューターOUに対してユーザー構成GPOも適用できるというだけの話なのですがw
でも、これ知ってると知らないじゃあえらい違いだよね。。自分の不学に嘆く。

先に技術内容知りたい方はこちらどぞ。
 グループポリシーのループバック処理 MSサポートオンライン
http://support.microsoft.com/kb/231287/ja