PowerShell Cmdlet - Set-ItemProperty
 記事記号:[mg1987] 初版:2011/Sep/30

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

名前
    Set-ItemProperty
    
概要
    項目のプロパティの値を作成または変更します。
    
構文
    Set-ItemProperty [-LiteralPath] <string[]> -InputObject <psobject> [-Credent
    ial <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Incl
    ude <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonP
    arameters>]
    
    Set-ItemProperty [-Path] <string[]> -InputObject <psobject> [-Credential <PS
    Credential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <st
    ring[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParamete
    rs>]
    
    Set-ItemProperty [-LiteralPath] <string[]> [-Name] <string> [-Value] <Object
    > [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Fo
    rce] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction
    ] [<CommonParameters>]
    
    Set-ItemProperty [-Path] <string[]> [-Name] <string> [-Value] <Object> [-Cre
    dential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-
    Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<Com
    monParameters>]
    
説明
    Set-ItemProperty コマンドレットは、指定した項目のプロパティの値を変更します。
    コマンドレットを使用して、項目のプロパティを設定または変更できます。たとえば、
    Set-ItemProperty を使用すると、ファイル オブジェクトの IsReadOnly プロパティ
    の値を true に設定できます。
    
    レジストリの値とデータの作成と変更を行う場合にも、Set-ItemProperty を使用し
    ます。たとえば、新しいレジストリ エントリをキーに追加し、その値を設定または
    変更できます。

パラメーター
    -Credential <PSCredential>
        この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既
        定値は現在のユーザーです。
        
        "User01" や "Domain01\User01" のようなユーザー名を入力するか、Get-Creden
        tial コマンドレットで生成されるような PSCredential オブジェクトを入力し
        ます。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示され
        ます。
        
        このパラメーターは、Windows PowerShell でインストールされるプロバイダー
        ではサポートされていません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Exclude <string[]>
        コマンドレットの対象から除外する項目を指定します。それ以外の項目は対象と
        なります。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Filter <string>
        プロバイダーの形式や言語でフィルターを指定します。このパラメーターの値は、
        Path パラメーターを修飾します。ワイルドカードを使用できるかどうかなど、
        フィルターの構文はプロバイダーによって異なります。フィルターは他のパラメ
        ーターよりも効率が良い方法です。これは、オブジェクトを取得した後に Windo
        ws PowerShell がオブジェクトをフィルターするのではなく、オブジェクトを取
        得する際にプロバイダーがフィルターを適用するためです。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Force [<SwitchParameter>]
        設定しないとユーザーがアクセスできない項目のプロパティをコマンドレットで
        設定できるようにします。実装はプロバイダーごとに異なります。詳細について
        は、「about_Providers」を参照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Include <string[]>
        コマンドレットの処理対象とする項目を指定し、それ以外の項目は除外します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -InputObject <psobject>
        変更するプロパティがあるオブジェクトの名前を指定します。オブジェクトが格
        納されている変数、またはオブジェクトを取得するコマンドを入力します。
        
        必須                         true
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する false
        
    -LiteralPath <string[]>
        項目プロパティへのパスを指定します。LiteralPath の値は、入力した内容のま
        ま使用されます。ワイルドカードとして解釈される文字はありません。パスにエ
        スケープ文字が含まれている場合は、単一引用符で囲みます。単一引用符で囲ん
        だ文字はエスケープ シーケンスとして解釈されません。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Name <string>
        プロパティの名前を指定します。
        
        必須                         true
        位置                         2
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -PassThru [<SwitchParameter>]
        項目プロパティを表すオブジェクトを返します。既定では、このコマンドレット
        による出力はありません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Path <string[]>
        設定するプロパティを持つ項目のパスを指定します。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Value <Object>
        プロパティの値を指定します。
        
        必須                         true
        位置                         3
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Confirm [<SwitchParameter>]
        コマンドを実行する前に確認メッセージを表示します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -WhatIf [<SwitchParameter>]
        実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -UseTransaction [<SwitchParameter>]
        コマンドを有効なトランザクションに含めます。このパラメーターは、トランザ
        クションの進行中のみ有効です。詳細については、「about_Transactions」を参
        照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Management.Automation.PSObject
        パイプを使用してオブジェクトを Set-ItemProperty に渡すことができます。
    
出力
    なし、または System.Management.Automation.PSCustomObject
        PassThru パラメーターを使用する場合は、Set-ItemProperty によって、変更さ
        れた項目を表す PSCustomObject オブジェクトとその新しいプロパティ値が生成
        されます。それ以外の場合、このコマンドレットによる出力はありません。
    
メモ
        Set-ItemProperty コマンドレットは、プロバイダーによって公開されているデ
        ータを使用するように設計されています。セッションで使用可能なプロバイダー
        の一覧を表示するには、「Get-PSProvider」と入力します。詳細については、「
        about_Providers」を参照してください。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>set-itemproperty -path c:\GroupFiles\final.doc -name IsReadOnly -value 
    $true
        
    説明
    -----------
    このコマンドは、final.doc ファイルの IsReadOnly プロパティの値を true に設定
    します。
    
    このコマンドは、Set-ItemProperty コマンドレットを使用して final.doc ファイル
    のプロパティの値を変更します。ファイルは Path パラメーターを使用して指定して
    います。また、プロパティの名前は Name パラメーターを使用し、新しい値は Value 
    パラメーターを使用して指定します。
    
    $true 自動変数は TRUE の値を表します。詳細については、「about_Automatic_Vari
    ables」を参照してください。
    
    ファイルは System.IO.FileInfo オブジェクトで、IsReadOnly はそのプロパティの 
    1 つにすぎません。FileInfo オブジェクトのプロパティとメソッドをすべて表示す
    るには、Get-Member コマンドレットに対してファイルをパイプ処理します。たとえ
    ば、"final.doc | get-member" などです。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -v
    alue 823
    
    C:\PS>get-itemproperty -path HKLM:\Software\MyCompany
    
    PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\softw
                    are\mycompany
    PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\softw
                    are
    PSChildName   : mycompany
    PSDrive       : HKLM
    PSProvider    : Microsoft.PowerShell.Core\Registry
    NoOfLocations : 2
    NoOfEmployees : 823
    
    C:\PS>set-itemproperty -path HKLM:\Software\MyCompany -name NoOfEmployees -v
    alue 824
    C:\PS>get-itemproperty -path HKLM:\Software\MyCompany
    
    PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\softw
                    are\mycompany
    PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\softw
                    are
    PSChildName   : mycompany
    PSDrive       : HKLM
    PSProvider    : Microsoft.PowerShell.Core\Registry
    NoOfLocations : 2
    NoOfEmployees : 824
    
    説明
    -----------
    この例は、Set-ItemProperty を使用して新しいレジストリ エントリを作成し、値を
    エントリに割り当てる方法を示します。このコマンドを実行すると、HKLM\Software 
    キー内の MyCompany キーに NoOfEmployees エントリが作成され、その値が 823 に
    設定されます。
    
    レジストリ エントリはレジストリ キー (項目) のプロパティと見なされるため、Se
    t-ItemProperty を使用してレジストリ エントリを作成し、値の設定と変更を行いま
    す。
    
    最初のコマンドは、Set-ItemProperty コマンドレットを使用してレジストリ エント
    リを作成します。このコマンドは、Path パラメーターを使用して、HKLM: ドライブ
    と Software\MyCompany キーへのパスを指定します。また、エントリの名前は Name 
    パラメーターを使用し、値は Value パラメーターを使用して指定します。
    
    2 番目のコマンドは、Get-ItemProperty コマンドレットを使用して、新しいレジス
    トリ エントリを表示します。エントリは項目や子項目でなくキーのプロパティであ
    るため、Get-Item または Get-ChildItem コマンドレットを使用する場合、エント
    リは表示されません。
    
    3 番目のコマンドは、NoOfEmployees エントリの値を 824 に変更します。
    
    New-ItemProperty コマンドレットを使用して、レジストリ エントリとその値を作成
    してから、Set-ItemProperty を使用して値を変更することもできます。
    
    HKLM: ドライブの詳細については、「get-help get-psdrive」と入力してください。
    Windows PowerShell を使用してレジストリを管理する方法の詳細については、「get
    -help registry」と入力してください。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-childitem weekly.txt | set-itemproperty -name IsReadOnly -value $t
    rue
    
    説明
    -----------
    これらのコマンドは、パイプライン演算子 (|) を使用して項目を Set-ItemProperty 
    に渡す方法を示しています。
    
    コマンドの最初の部分は Get-ChildItem コマンドレットを使用して、Weekly.txt フ
    ァイルを表すオブジェクトを取得します。このコマンドは、パイプライン演算子を使
    用してファイル オブジェクトを Set-ItemProperty に渡します。Set-ItemProperty 
    コマンドは Name パラメーターおよび Value パラメーターを使用して、プロパティ
    とその新しい値を指定します。
    
    このコマンドを実行すると、InputObject パラメーターを使用して Get-ChildItem 
    が取得するオブジェクトを指定した場合と同じ結果が返されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113396
    about_Providers 
    Get-ItemProperty 
    New-ItemProperty 
    Clear-ItemProperty 
    Remove-ItemProperty 
    Rename-ItemProperty 
    Move-ItemProperty 
    Copy-ItemProperty 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Set-ItemProperty
ご利用数: 1858985
感想・要望・問い合わせは こちら