New-ItemProperty
項目の新しいプロパティを作成し、その値を設定します。
構文
New-ItemProperty
[-Path] <String[]>
[-Name] <String>
[-PropertyType <String>]
[-Value <Object>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
New-ItemProperty
-LiteralPath <String[]>
[-Name] <String>
[-PropertyType <String>]
[-Value <Object>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
説明
New-ItemProperty
コマンドレットは、指定した項目の新しいプロパティを作成し、その値を設定します。
レジストリ値はレジストリ キー項目のプロパティであるため、通常、このコマンドレットを使用して新しいレジストリ値を作成します。
このコマンドレットは、オブジェクトにプロパティを追加しません。
- オブジェクトのインスタンスにプロパティを追加するには、
Add-Member
コマンドレットを使用します。 - 特定の型のすべてのオブジェクトにプロパティを追加するには、Types.ps1xml ファイルを変更します。
例
例 1: レジストリ エントリを追加する
このコマンドは、新しいレジストリ エントリ "NoOfEmployees" を "HKLM:\Software hive" の "MyCompany" キーに追加します。
最初のコマンドは、 Path パラメーターを使用して "MyCompany" レジストリ キーのパスを指定します。 Name パラメーターを使用してエントリの名前を指定し、Value パラメーターを使用してその値を指定します。
2 番目のコマンドでは、Get-ItemProperty
コマンドレットを使用して新しいレジストリ エントリを表示します。
New-ItemProperty -Path "HKLM:\Software\MyCompany" -Name "NoOfEmployees" -Value 822
Get-ItemProperty "HKLM:\Software\MyCompany"
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software\mycompany
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\software
PSChildName : mycompany
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry
NoOfLocations : 2
NoOfEmployees : 822
例 2: キーにレジストリ エントリを追加する
このコマンドは、新しいレジストリ エントリをレジストリ キーに追加します。
キーを指定するには、パイプライン演算子 (|) を使用して、キーを表すオブジェクトを New-ItemProperty
に送信します。
コマンドの最初の部分では、 Get-Item
コマンドレットを使用して "MyCompany" レジストリ キーを取得します。
パイプライン オペレーターはコマンドの結果を New-ItemProperty
に送信し、新しいレジストリ エントリ ("NoOfLocations") とその値 (3) が "MyCompany" キーに追加されます。
Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3
このコマンドが機能するのは、Windows PowerShell のパラメーター バインド機能によって、Get-Item
が返す RegistryKey
オブジェクトのパスを New-ItemProperty
の LiteralPath パラメーターに関連付けるためです。
詳細については、「 about_Pipelines」を参照してください。
例 3: Here-String を使用してレジストリに MultiString 値を作成する
この例では、Here-String を使用して MultiString 値を作成します。
$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'HereString' -PropertyType MultiString -Value @"
This is text which contains newlines
It can also contain "quoted" strings
"@
$newValue.multistring
This is text which contains newlines
It can also contain "quoted" strings
例 4: 配列を使用してレジストリに MultiString 値を作成する
この例では、値の配列を使用して MultiString
値を作成する方法を示します。
$newValue = New-ItemProperty -Path "HKLM:\SOFTWARE\ContosoCompany\" -Name 'MultiString' -PropertyType MultiString -Value ('a','b','c')
$newValue.multistring[0]
a
パラメーター
-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 |
ワイルドカード文字を受け取る: | True |
-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 |
ワイルドカード文字を受け取る: | True |
-LiteralPath
プロパティの現在の場所へのパスを指定します。 Path パラメーターとは異なり、LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
型: | String[] |
Aliases: | PSPath |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
新しいプロパティの名前を指定します。 プロパティがレジストリ エントリの場合、このパラメーターはエントリの名前を指定します。
型: | String |
Aliases: | PSProperty |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Path
項目のパスを指定します。 このパラメーターは、このコマンドレットが新しいプロパティを追加する項目を識別します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PropertyType
このコマンドレットが追加するプロパティの種類を指定します。 このパラメーターに使用できる値は次のとおりです。
- 文字列: null で終わる文字列を指定します。 REG_SZに相当します。
- ExpandString: 値の取得時に展開される環境変数への展開されていない参照を含む null で終わる文字列を指定します。 REG_EXPAND_SZに相当します。
- バイナリ: 任意の形式のバイナリ データを指定します。 REG_BINARYに相当します。
- DWord: 32 ビットの 2 進数を指定します。 REG_DWORDに相当します。
- MultiString: 2 つの null 文字で終わる null で終わる文字列の配列を指定します。 REG_MULTI_SZに相当します。
- Qword: 64 ビットの 2 進数を指定します。 REG_QWORDに相当します。
- 不明: サポートされていないレジストリ データ型 ( REG_RESOURCE_LIST など) を示します。
型: | String |
Aliases: | Type |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-UseTransaction
アクティブなトランザクションにコマンドを含みます。 このパラメーターは、トランザクションが進行中の場合にのみ有効です。 詳細については、「about_Transactions」を参照してください。
型: | SwitchParameter |
Aliases: | usetx |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Value
プロパティ値を指定します。 プロパティがレジストリ エントリの場合、このパラメーターはエントリの値を指定します。
型: | Object |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットに入力をパイプすることはできません。
出力
New-ItemProperty
新しいプロパティを含むカスタムオブジェクトを返します。
メモ
New-ItemProperty
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider
」と入力します。 詳細については、about_Providersを参照してください。