Set-ItemProperty
アイテムのプロパティの値を作成または変更します。
構文
Set-ItemProperty
[-Path] <String[]>
[-Name] <String>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Set-ItemProperty
[-Path] <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <String[]>
[-Name] <String>
[-Value] <Object>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Set-ItemProperty
-LiteralPath <String[]>
-InputObject <PSObject>
[-PassThru]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<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: レジストリ エントリと値を作成する
この例では、Set-ItemProperty
を使用して新しいレジストリ エントリを作成し、エントリに値を割り当てる方法を示します。
"HKLM\Software" キーの "ContosoCompany" キーに "NoOfEmployees" エントリを作成し、その値を 823 に設定します。
レジストリ エントリは、項目であるレジストリ キーのプロパティと見なされるため、Set-ItemProperty
を使用してレジストリ エントリを作成し、その値を確立および変更します。
最初のコマンドは、レジストリ エントリを作成します。
Path を使用して、HKLM:
ドライブのパスと "Software\MyCompany" キーを指定します。
このコマンドでは、Name を使用してエントリ名を指定し、値を指定する値 します。
2 番目のコマンドでは、Get-ItemProperty
コマンドレットを使用して新しいレジストリ エントリを表示します。
Get-Item
または Get-ChildItem
コマンドレットを使用する場合、エントリは項目や子項目ではなくキーのプロパティであるため、表示されません。
3 番目のコマンドは、NoOfEmployees エントリの値を 824 に変更します。
New-ItemProperty
コマンドレットを使用してレジストリ エントリとその値を作成し、Set-ItemProperty
を使用して値を変更することもできます。
HKLM:
ドライブの詳細については、「Get-Help Get-PSDrive
」と入力します。
PowerShell を使用してレジストリを管理する方法の詳細については、「Get-Help Registry
」と入力します。
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
例 3: パイプラインを使用して項目を変更する
これらのコマンドは、パイプライン演算子 (|
) を使用してアイテムを Set-ItemProperty
に送信する方法を示しています。
コマンドの最初の部分では、 Get-ChildItem
を使用して、「Weekly.txt」ファイルを表すオブジェクトを取得します。
このコマンドは、パイプライン演算子を使用して、ファイルオブジェクトを Set-ItemProperty
に送信します。
Set-ItemProperty
コマンドは、Name パラメーターと Value パラメーターを使用して、プロパティとその新しい値を指定します。
このコマンドは、 InputObject パラメーターを使用して、 Get-ChildItem
が取得するオブジェクトを指定するのと同じです。
Get-ChildItem weekly.txt | Set-ItemProperty -Name IsReadOnly -Value $True
パラメーター
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
"User01" や "Domain01\User01" などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential
コマンドレットによって生成されたものなど) を入力します。
ユーザー名を入力すると、パスワードの入力を求められます。
Warnung
このパラメーターは、Windows PowerShell でインストールされているプロバイダーではサポートされていません。
型: | PSCredential |
配置: | Named |
規定値: | Current user |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Exclude
コマンドレットが動作しない項目を指定し、他のすべての項目を含めます。 このパラメーターの値は、Path パラメーターを修飾します。 "*.txt" などのパス要素またはパターンを入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Filter
プロバイダーの形式または言語でフィルターを指定します。 このパラメーターの値は、Path パラメーターを修飾します。
ワイルドカード文字の使用を含むフィルターの構文は、プロバイダーによって異なります。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにプロバイダーによって適用されるため、他のパラメーターよりも効率的です。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Force
ユーザーがアクセスできない項目に対してプロパティを設定するようにコマンドレットに強制します。 実装はプロバイダーによって異なります。 詳細については、about_Providersを参照してください。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Include
コマンドレットが動作する項目のみを指定し、他のすべての項目は除外します。 このパラメーターの値は、Path パラメーターを修飾します。 "*.txt" などのパス要素またはパターンを入力します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
このコマンドレットが変更するプロパティを持つオブジェクトを指定します。 オブジェクトを含む変数、またはオブジェクトを取得するコマンドを入力します。
型: | PSObject |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-LiteralPath
item プロパティのパスを指定します。 Path パラメーターとは異なり、LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
型: | String[] |
Aliases: | PSPath |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
プロパティの名前を指定します。
型: | String |
Aliases: | PSProperty |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PassThru
item プロパティを表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
変更するプロパティを持つ項目のパスを指定します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-UseTransaction
アクティブなトランザクションにコマンドを含みます。 このパラメーターは、トランザクションが進行中の場合にのみ有効です。 詳細については、about_Transactionsを参照してください。
型: | SwitchParameter |
Aliases: | usetx |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Value
プロパティの値を指定します。
型: | Object |
配置: | 2 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
このコマンドレットにオブジェクトをパイプできます。
出力
None, System.Management.Automation.PSCustomObject
このコマンドレットは、変更された項目とその新しいプロパティ値を表す PSCustomObject オブジェクトを生成します (PassThru パラメーターを指定した場合)。 それ以外の場合、このコマンドレットは出力を生成しません。
メモ
Set-ItemProperty
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider
」と入力します。 詳細については、about_Providersを参照してください。