次の方法で共有


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: レジストリ エントリを追加する

このコマンドは、NoOfEmployeesMyCompany キーに新しいレジストリ エントリ (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 レジストリ キーを取得します。 パイプライン演算子は、コマンドの結果を New-ItemPropertyに送信し、新しいレジストリ エントリ (NoOfLocations) とその値 (3) を MyCompany キーに追加します。

Get-Item -Path "HKLM:\Software\MyCompany" | New-ItemProperty -Name NoOfLocations -Value 3

このコマンドは、PowerShell のパラメーター バインド機能により、 が返す Get-Item オブジェクトのパスが、New-ItemProperty パラメーターに関連付けられます。 詳細については、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.HereString

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

このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

User01Domain01\User01などのユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

手記

このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Commandを使用します。

型:PSCredential
配置:Named
規定値:Current user
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Exclude

文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。 Exclude パラメーターは、コマンドに項目の内容 (C:\Windows\*など) が含まれている場合にのみ有効です。ワイルドカード文字は、C:\Windows ディレクトリの内容を指定します。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Filter

Path パラメーターを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルターの使用をサポートする唯一のインストール済み PowerShell プロバイダーです。 FileSystem フィルター言語の構文は、about_Wildcardsにあります。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにプロバイダーによって適用されるため、他のパラメーターよりも効率的です。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-Force

ユーザーがアクセスできないオブジェクトに対してプロパティを作成するようにコマンドレットに強制します。 実装はプロバイダーによって異なります。 詳細については、about_Providersを参照してください。

型:SwitchParameter
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Include

文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。 Include パラメーターは、コマンドに項目の内容 (ワイルドカード文字が C:\Windows\* ディレクトリの内容を指定する C:\Windowsなど) が含まれている場合にのみ有効です。

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-LiteralPath

1 つ以上の場所へのパスを指定します。 LiteralPath の値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符 (') で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。

詳細については、about_Quoting_Rulesを参照してください。

型:String[]
Aliases:PSPath, LP
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Name

新しいプロパティの名前を指定します。 プロパティがレジストリ エントリの場合、このパラメーターはエントリの名前を指定します。

型:String
Aliases:PSProperty
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Path

項目のパスを指定します。 ワイルドカード文字を使用できます。 このパラメーターは、このコマンドレットが新しいプロパティを追加する項目を識別します。

型:String[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:True

-PropertyType

このコマンドレットが追加するプロパティの種類を指定します。 このパラメーターに使用できる値は次のとおりです。

  • 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 値など、サポートされていないレジストリ データ型を示します。
型:String
Aliases:Type
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Value

プロパティ値を指定します。 プロパティがレジストリ エントリの場合、このパラメーターはエントリの値を指定します。

型:Object
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

PSCustomObject

このコマンドレットは、新しいプロパティを表すカスタム オブジェクトを返します。

メモ

New-ItemProperty は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider」と入力します。 詳細については、about_Providersを参照してください。