Set-ItemProperty
項目のプロパティの値を作成または変更します。
構文
Set-ItemProperty
[-Path] <String[]>
[-Name] <String>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
[-Path] <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <String[]>
[-Name] <String>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
説明
コマンドレットは Set-ItemProperty
、指定した項目の プロパティの値を変更します。
コマンドレットを使用して、項目のプロパティを作成または変更できます。
たとえば、 を使用 Set-ItemProperty
して、ファイル オブジェクトの IsReadOnly プロパティの値を に $True
設定できます。
また、 を使用 Set-ItemProperty
してレジストリ値とデータを作成および変更します。
たとえば、新しいレジストリ エントリをキーに追加し、その値を設定または変更できます。
例
例 1: ファイルのプロパティを設定する
このコマンドは、"final.doc" ファイルの IsReadOnly プロパティの値を "true" に設定します。 Path を使用してファイルを指定し、Name を使用してプロパティの名前を指定し、Value パラメーターを使用して新しい値を指定します。
ファイルは System.IO.FileInfo オブジェクトであり、 IsReadOnly はそのプロパティの 1 つにすぎません。
すべてのプロパティを表示するには、「 」と入力します Get-Item C:\GroupFiles\final.doc | Get-Member -MemberType Property
。
自動変数は $true
、"TRUE" の値を表します。 詳細については、「about_Automatic_Variables」を参照してください。
Set-ItemProperty -Path C:\GroupFiles\final.doc -Name IsReadOnly -Value $true
例 2: レジストリ エントリと値をCreateする
この例では、 を使用 Set-ItemProperty
して新しいレジストリ エントリを作成し、エントリに値を割り当てる方法を示します。 キーの "ContosoCompany" キー HKLM\Software
に "NoOfEmployees" エントリを作成し、その値を 823 に設定します。
レジストリ エントリはレジストリ キー (項目) のプロパティと見なされるため、レジストリ エントリを作成し、その値を確立および変更するために を使用 Set-ItemProperty
します。
Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 823
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : contosocompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 823
Set-ItemProperty -Path "HKLM:\Software\ContosoCompany" -Name "NoOfEmployees" -Value 824
Get-ItemProperty -Path "HKLM:\Software\ContosoCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\contosocompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : contosocompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 824
最初のコマンドは、レジストリ エントリを作成します。
Path を使用して、ドライブとキーのHKLM:
パスをSoftware\MyCompany
指定します。
このコマンドでは 、Name を 使用してエントリ名を指定し 、Value を 使用して値を指定します。
2 番目のコマンドでは、 コマンドレットを Get-ItemProperty
使用して新しいレジストリ エントリを表示します。
または Get-ChildItem
コマンドレットをGet-Item
使用する場合、項目または子項目ではなくキーのプロパティであるため、エントリは表示されません。
3 番目のコマンドは、 NoOfEmployees エントリの値を 824 に変更します。
コマンドレットを New-ItemProperty
使用してレジストリ エントリとその値を作成し、 を使用 Set-ItemProperty
して値を変更することもできます。
ドライブの HKLM:
詳細については、「」と入力します Get-Help Get-PSDrive
。
PowerShell を使用してレジストリを管理する方法の詳細については、「」と入力します Get-Help Registry
。
例 3: パイプラインを使用して項目を変更する
次の例では、 を使用 Get-ChildItem
してファイルを取得します weekly.txt
。 ファイル オブジェクトは に Set-ItemProperty
パイプされます。 このコマンドではSet-ItemProperty
、Name パラメーターと Value パラメーターを使用して、プロパティとその新しい値を指定します。
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True
パラメーター
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
注意
このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、 Invoke-Command を使用します。
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Exclude
文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 などのパス要素またはパターンを *.txt
入力します。 ワイルドカード文字を使用できます。 Exclude パラメーターは、コマンドに などのC:\Windows\*
項目の内容が含まれている場合にのみ有効です。ここで、ワイルドカード文字はディレクトリの内容をC:\Windows
指定します。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Path パラメーターを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルターの使用をサポートする唯一のインストール済み PowerShell プロバイダーです。 FileSystem フィルター言語の構文は、about_Wildcardsで確認できます。 プロバイダーは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにフィルターを適用するため、他のパラメーターよりも効率的です。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
ユーザーがアクセスできない項目にプロパティを設定するようにコマンドレットを強制します。 実装はプロバイダーごとに異なります。 詳細については、「about_Providers」を参照してください。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 などのパス要素またはパターンを "*.txt"
入力します。 ワイルドカード文字を使用できます。 Include パラメーターは、コマンドに などのC:\Windows\*
項目の内容が含まれている場合にのみ有効です。ワイルドカード文字はディレクトリの内容をC:\Windows
指定します。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
このコマンドレットが変更するプロパティを持つ オブジェクトを指定します。 オブジェクトが格納されている変数、またはオブジェクトを取得するコマンドを入力します。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
1 つ以上の場所へのパスを指定します。 LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 一重引用符は、文字をエスケープ シーケンスとして解釈しないように PowerShell に指示します。
詳細については、「 about_Quoting_Rules」を参照してください。
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
プロパティの名前を指定します。
Type: | String |
Aliases: | PSProperty |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
item プロパティを表す オブジェクトを返します。 既定では、このコマンドレットによる出力はありません。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
変更する プロパティを持つ項目のパスを指定します。 ワイルドカード文字を使用できます。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Type
Type は、レジストリ プロバイダーがコマンドレットに追加する Set-ItemProperty
動的パラメーターです。
このパラメーターは、レジストリ ドライブでのみ機能します。
このコマンドレットによって追加されるプロパティの種類を指定します。 このパラメーターの有効値は、次のとおりです。
String
: null で終わる文字列を指定します。 REG_SZ値に使用されます。ExpandString
: 値の取得時に展開される環境変数への展開されていない参照を含む null で終わる文字列を指定します。 REG_EXPAND_SZ値に使用されます。Binary
: 任意の形式のバイナリ データを指定します。 REG_BINARY値に使用されます。DWord
: 32 ビットの 2 進数を指定します。 REG_DWORD値に使用されます。MultiString
: 2 つの null 文字で終わる null で終わる文字列の配列を指定します。 REG_MULTI_SZ値に使用されます。Qword
: 64 ビットの 2 進数を指定します。 REG_QWORD値に使用されます。Unknown
: REG_RESOURCE_LIST 値など、サポートされていないレジストリ データ型を示します。
Type: | RegistryValueKind |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
プロパティの値を指定します。
Type: | Object |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
オブジェクトをこのコマンドレットにパイプできます。
出力
None, System.Management.Automation.PSCustomObject
このコマンドレットは、PassThru パラメーターを指定すると、変更された項目とその新しいプロパティ値を表す PSCustomObject オブジェクトを生成します。 それ以外の場合、このコマンドレットによる出力はありません。
メモ
Set-ItemProperty
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用できるプロバイダーを一覧表示するには、「」と入力します Get-PSProvider
。 詳細については、「about_Providers」を参照してください。