PowerShell Cmdlet - Get-Acl
 記事記号:[mf1955] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Get-Acl
    
概要
    ファイルやレジストリ キーなどのリソースのセキュリティ記述子を取得します。
    
構文
    Get-Acl [[-Path] <string[]>] [-Audit] [-Exclude <string[]>] [-Filter <string
    >] [-Include <string[]>] [-UseTransaction] [<CommonParameters>]
    
説明
    Get-Acl コマンドレットは、ファイルまたはリソースのセキュリティ記述子を表すオ
    ブジェクトを取得します。セキュリティ記述子には、リソースのアクセス制御リスト 
    (ACL) が含まれています。ACL は、ユーザーとユーザー グループがリソースにアク
    セスするためのアクセス許可を指定します。
    
パラメーター
    -Audit [<SwitchParameter>]
        システム アクセス制御リスト (SACL) からセキュリティ記述子の監査データを
        取得します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Exclude <string[]>
        指定した項目を除外します。このパラメーターの値は、Path パラメーターを修
        飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカー
        ドを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Filter <string>
        プロバイダーの形式や言語でフィルターを指定します。このパラメーターの値は、
        Path パラメーターを修飾します。ワイルドカードを使用できるかどうかなど、
        フィルターの構文はプロバイダーによって異なります。フィルターは他のパラメ
        ーターよりも効率が良い方法です。これは、オブジェクトを取得した後に Windo
        ws PowerShell がオブジェクトをフィルターするのではなく、オブジェクトを取
        得する際にプロバイダーがフィルターを適用するためです。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Include <string[]>
        指定した項目だけを取得します。このパラメーターの値は、Path パラメーター
        を修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルド
        カードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Path <string[]>
        リソースのパスを指定します。Get-Acl は、パスで示されたリソースのセキュリ
        ティ記述子を取得します。ワイルドカードを使用できます。Path パラメーター
        を省略した場合、Get-Acl は現在のディレクトリのセキュリティ記述子を取得し
        ます。
        
        パラメーター名 ("Path") は省略可能です。
        
        必須                         false
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する false
        
    -UseTransaction [<SwitchParameter>]
        コマンドを有効なトランザクションに含めます。このパラメーターは、トランザ
        クションの進行中のみ有効です。詳細については、「about_Transactions」を参
        照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用してパスを含む文字列を Get-Acl に渡すことができます。
    
出力
    System.Security.AccessControl
        Get-Acl は、取得する ACL を表すオブジェクトを返します。オブジェクトの種
        類は、ACL の種類によって異なります。
    
メモ
        既定では、Get-Acl はリソースへの Windows PowerShell パス (<provider>::<r
        esource-path>) およびリソースの所有者と、リソースの随意アクセス制御リス
        ト (DACL) のアクセス制御エントリの一覧 (配列) である "アクセス" を表示し
        ます。DACL 一覧は、リソース所有者によって制御されます。
        
        結果を一覧として書式設定 ("get-acl | format-list") すると、パス、所有者、
        およびアクセス一覧に加えて、以下のフィールドが表示されます。
        
        -- Group: 所有者のセキュリティ グループ。
        
        -- Audit: システム アクセス制御リスト (SACL) のエントリの一覧 (配列)。SA
           CL は、Windows での監査レコード生成の対象となるアクセス試行の種類を指
           定します。
        
        -- Sddl: リソースのセキュリティ記述子で、セキュリティ記述子定義言語形式
           の単一のテキスト文字列として表示されます。このデータは、セキュリティ
           記述子の GetSddlForm メソッドを使用して取得されます。
        
        Get-Acl はファイル システムとレジストリ プロバイダーによってサポートされ
        ているため、Get-Acl を使用すると、ファイル システム オブジェクト (ファイ
        ルおよびディレクトリなど) およびレジストリ オブジェクト (レジストリキー
        およびエントリなど) の ACL を表示できます。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>get-acl C:\windows
    
    説明
    -----------
    このコマンドは、C:\Windows ディレクトリのセキュリティ記述子を取得します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>get-acl C:\Windows\k*.log | format-list -property PSPath, Sddl
    
    説明
    -----------
    このコマンドは、C:\Windows ディレクトリに含まれていて名前が "k" で始まる .lo
    g ファイルすべての Windows PowerShell パスおよび SDDL を取得します。
    
    このコマンドは、Get-Acl を使用して、各ログ ファイルのセキュリティ記述子を表
    すオブジェクトを取得します。このコマンドは、パイプライン演算子 (|) を使用し
    て、結果を Format-List コマンドレットに送信します。このコマンドは、Format-Li
    st の Property パラメーターを使用して、各セキュリティ記述子オブジェクトの Ps
    Path プロパティおよび SDDL プロパティのみを表示します。
    
    表では長い値が切り詰められて表示されるため、Windows PowerShell では多くの場
    合、一覧が使用されます。
    
    SDDL 値は、セキュリティ記述子のすべての情報を含む単純なテキスト文字列である
    ため、システム管理者にとって貴重な値です。このため、これらの値は、渡すことや
    保存することが簡単で、必要な場合は解析できます。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-ACL c:/windows/k*.log -Audit | foreach-object { $_.Audit.Count }
    
    説明
    -----------
    このコマンドは、C:\Windows ディレクトリに含まれていて名前が "k" で始まる .lo
    g ファイルのセキュリティ記述子を取得します。このコマンドは Audit パラメータ
    ーを使用して、セキュリティ記述子の SACL から監査レコードを取得します。次に、
    For-EachObject パラメーターを使用して、各ファイルに関連付けられている監査レ
    コードの数をカウントします。結果は、各ログ ファイルの監査レコードの数を表す
    数字の一覧です。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>get-acl -path hklm:\system\currentcontrolset\control | format-list
    
    説明
    -----------
    このコマンドは、Get-Acl を使用して、レジストリの Control サブキー (HKLM\SYST
    EM\CurrentControlSet\Control) のセキュリティ記述子を取得します。
    
    Path パラメーターは、Control サブキーを指定します。パイプライン演算子 (|) に
    よって、Get-Acl が取得するセキュリティ記述子が Format-List コマンドに渡され、
    セキュリティ記述子のプロパティが読みやすいように一覧形式で書式設定されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113305
    Set-Acl 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Get-Acl
ご利用数: 1857777
感想・要望・問い合わせは こちら