Help us understand the problem. What is going on with this article?

powershellでwindowsのファイル監査設定を簡単にやる

More than 5 years have passed since last update.

windows環境だとファイル監査設定をして、ファイルの変更履歴をとるケースって結構あると思う。
この設定を、複数台のサーバにGUIで行うのが辛すぎたので、何とかならないかと調べていたところpowershellでNTFSSecurityという拡張モジュールを使って簡単に出来たのでシェア。
GUIで数時間かかっていた作業が、powershell実行で投げて放置できて幸せ。

使い方

1.モジュール置き場を確認

下記コマンドを実行し、ディレクトリに表示されている場所(PSモジュールの置き場)に、NTFSSecurity(このリポジトリにある)をコピーする

PATHが通っているとこならどこでもOK

基本的には、C:\Windows\system32\WindowsPowerShell\v1.0\Modules

PS> Get-Module -ListAvailable

  ディレクトリ: .....

一応、もう一度同じコマンドを実行し、利用可能モジュールとして[NTFSSecurity]がロードされている事を確認

PS> Get-Module -ListAvailable

ModuleType Name                                ExportedCommands
..         ...                                ....
Script     NTFSSecurity                        {Add-NTFSAccess, Add-NTFSAudit, Copy-NTFSAccess, Disable-NTFSAccessIn...

2.モジュールのインポートを実施

PS> Import-Module NTFSSecurity

3.コマンド通ることを確認する。

とりあえず、[Add-Audit]と打ってエラー出なければOK

PS> Add-Audit

コマンド パイプライン位置 1 のコマンドレット Add-NTFSAudit

サンプルコード

上記行った後に、サンプルコードのパスとユーザを追加したら

AddACE.ps1
$TargetFolders = @("Path1",
                   "Path2")
$_host = hostname
$AuditUsers = @("User1",
                "User2")
#監査設定のどの項目を設定したいか
$AuditRules = "Delete,DeleteSubdirectoriesAndFiles,ChangePermissions,Takeownership,WriteData,CreateDirectories,CreateFiles"
$InheritType = "ContainerInherit,ObjectInherit"
$PropagationType = "InheritOnly"
$AuditType = "Success,Failure"

foreach ($AuditUser in $AuditUsers){
  foreach ($TargetFolder in $TargetFolders){
    Write-Host "TagetHost:",$TargetFolder,"TagetUser:",$AuditUser
    Add-Audit $AuditUser $TargetFolder -AccessRights $AuditRules -InheritanceFlags $InheritType -PropagationFlags $PropagationType -Type $AuditType
  }
}

Write-Host "ACE Add Complete"

参照

監査設定項目一覧(powershellは.netのライブラリをそのまま使えるので一緒)
https://msdn.microsoft.com/ja-jp/library/system.security.accesscontrol.filesystemrights%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

connehito
コネヒト株式会社は、「あなたの家族像を実現する社会をつくる」をビジョンに掲げる、現代社会における多様な家族像の実現を目指す会社。女性向けの「ママリ」「ママRework」や家族の購買の意思決定を支える「ママリ口コミ大賞」、男性育休冊子などを展開。
https://connehito.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away