New-ItemProperty
項目の新しいプロパティを作成し、その値を設定します。
構文
New-ItemProperty
[-Path] <String[]>
[-Name] <String>
[-PropertyType <String>]
[-Value <Object>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-ItemProperty
-LiteralPath <String[]>
[-Name] <String>
[-PropertyType <String>]
[-Value <Object>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
コマンドレットは New-ItemProperty
、指定された項目の新しいプロパティを作成し、その値を設定します。
通常、レジストリ値がレジストリ キー項目のプロパティになるため、このコマンドレットを使用して新しいレジストリ値が作成されます。
このコマンドレットではプロパティがオブジェクトに追加されません。
- オブジェクトのインスタンスにプロパティを追加するには、コマンドレットを
Add-Member
使用します。 - 特定の型のすべてのオブジェクトにプロパティを追加するには、Types.ps1xml ファイルを変更します。
例
例 1: レジストリ エントリを追加する
このコマンドは、新しいレジストリ エントリを 、 NoOfEmployees
のキーに MyCompany
追加します HKLM:\Software hive
。
最初のコマンドでは、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
取得します。 パイプライン演算子は、新しいレジストリ エントリ () とその値 (NoOfLocations
3
) をキーに追加するコマンドNew-ItemProperty
の結果をMyCompany
送信します。
Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3
このコマンドは、PowerShell のパラメーター バインド機能が、返される RegistryKey オブジェクトのパスを LiteralPath パラメーターNew-ItemProperty
に関連付けるので機能Get-Item
します。 詳細については、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
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
ユーザー名を入力するか、User01
またはDomain01\User01
、コマンドレットによってGet-Credential
生成された PSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
Note
このパラメーターは、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 パラメーターは、コマンドに項目の内容 (wildカード 文字がディレクトリの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_Wildカードで確認できます。 フィルターは、取得後に 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\*
wildカード 文字はディレクトリの内容をC:\Windows
指定します。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-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 |
-Path
項目のパスを指定します。 ワイルドカード文字を使用できます。 このパラメーターは、このコマンドレットが新しいプロパティを追加する項目を識別します。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-PropertyType
これは、レジストリ プロバイダーが使用できる動的パラメーターです。 レジストリ プロバイダーとこのパラメーターは、Windows でのみ使用できます。
このコマンドレットが追加するプロパティの種類を指定します。 このパラメーターの有効値は、次のとおりです。
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 |
Aliases: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
プロパティ値を指定します。 プロパティがレジストリ エントリである場合、このパラメーターはエントリの値を指定します。
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
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
このコマンドレットにオブジェクトをパイプすることはできません。
出力
このコマンドレットは、新しいプロパティを表すカスタム オブジェクトを返します。
メモ
New-ItemProperty
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「.」と入力します Get-PSProvider
。 詳細については、「about_Providers」を参照してください。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示