Set-Item
項目の値をコマンドで指定された値に変更します。
構文
Set-Item
[-Path] <String[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Item
-LiteralPath <String[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Item
[-Path] <string[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Set-Item
[[-Value] <Object>]
-LiteralPath <string[]>
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Set-Item
[-Path] <string[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
Set-Item
[[-Value] <Object>]
-LiteralPath <string[]>
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
説明
Set-Item
コマンドレットは、変数やレジストリ キーなどの項目の値を、コマンドで指定された値に変更します。
例
例 1: エイリアスを作成する
このコマンドは、メモ帳の np のエイリアスを作成します。
Set-Item -Path Alias:np -Value "C:\windows\notepad.exe"
例 2: 環境変数の値を変更する
このコマンドは、UserRole 環境変数の値を Administrator に変更します。
Set-Item -Path Env:UserRole -Value "Administrator"
例 3: プロンプト関数を変更する
このコマンドは、プロンプト関数を変更して、パスの前の時刻を表示します。
Set-Item -Path Function:prompt -Value {'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '}
例 4: プロンプト関数のオプションを設定する
このコマンドは、プロンプト関数の AllScope と readOnly オプション を設定します。
このコマンドでは、の動的パラメーター Set-Item
オプションを使用します。
Options パラメーターは、Set-Item
または Function プロバイダーで使用する場合にのみ、 で使用できます。
Set-Item -Path Function:prompt -Options "AllScope,ReadOnly"
パラメーター
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-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を参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
型: | 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 |
-Options
これは、Alias および Function プロバイダーによって使用できる動的パラメーターです。 詳細については、「about_Alias_Provider と about_Function_Provider」を参照してください。
エイリアスの Options プロパティの値を指定します。
有効な値は次のとおりです。
-
None
: エイリアスに制約がありません (既定値) -
ReadOnly
: エイリアスは削除できますが、Force パラメーターを使用しないと変更できません -
Constant
: エイリアスを削除または変更することはできません -
Private
: エイリアスは現在のスコープでのみ使用できます -
AllScope
: エイリアスは、作成された新しいスコープにコピーされます -
Unspecified
: オプションが指定されていません
型: | ScopedItemOptions |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PassThru
項目を表すオブジェクトをパイプラインに渡します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
項目の場所のパスを指定します。 ワイルドカード文字を使用できます。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | True |
-Type
これは、Registry プロバイダーによって使用できる動的パラメーターです。 レジストリ プロバイダーとこのパラメーターは、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 値など、サポートされていないレジストリ データ型を示します。
型: | RegistryValueKind |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Value
項目の新しい値を指定します。
型: | Object |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
項目の新しい値を表すオブジェクトをこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは項目を表すオブジェクトを返します。
メモ
PowerShell には、Set-Item
の次のエイリアスが含まれています。
すべてのプラットフォーム:
si
Set-Item
は、PowerShell FileSystem プロバイダーではサポートされていません。 ファイル システム内の項目の値を変更するには、Set-Content
コマンドレットを使用します。レジストリ ドライブの
HKLM:
とHKCU:
では、レジストリ キーの (既定) 値のデータが変更Set-Item
。- レジストリ キーの名前を作成および変更するには、
New-Item
とRename-Item
コマンドレットを使用します。 - レジストリ値の名前とデータを変更するには、
New-ItemProperty
、Set-ItemProperty
、およびRename-ItemProperty
コマンドレットを使用します。
- レジストリ キーの名前を作成および変更するには、
Set-Item
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider
」と入力します。 詳細については、about_Providersを参照してください。