Set-Item
項目の値をコマンドで指定された値に変更します。
構文
Path (Default) - All providers
Set-Item
[-Path] <String[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LiteralPath - All providers
Set-Item
[[-Value] <Object>]
-LiteralPath <String[]>
[-Force]
[-PassThru]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Path (Default) - Alias and Function providers
Set-Item
[-Path] <string[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
LiteralPath - Alias and Function providers
Set-Item
[[-Value] <Object>]
-LiteralPath <string[]>
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Path (Default) - Registry provider
Set-Item
[-Path] <string[]>
[[-Value] <Object>]
[-Force]
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Type <RegistryValueKind>]
[<CommonParameters>]
LiteralPath - Registry provider
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 |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | cf |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Credential
注
このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Commandを使用します。
パラメーターのプロパティ
| 型: | PSCredential |
| 規定値: | Current user |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Exclude
文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。
Exclude パラメーターは、コマンドに項目の内容 (C:\Windows\*など) が含まれている場合にのみ有効です。ワイルドカード文字は、C:\Windows ディレクトリの内容を指定します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Filter
Path パラメーターを修飾するフィルターを指定します。 FileSystem プロバイダーは、フィルターの使用をサポートする唯一のインストール済み PowerShell プロバイダーです。 FileSystem フィルター言語の構文は about_Wildcardsに記載されています。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにプロバイダーによって適用されるため、他のパラメーターよりも効率的です。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Force
読み取り専用エイリアスや変数など、変更できない項目を設定するようにコマンドレットに強制します。 コマンドレットは、定数のエイリアスまたは変数を変更できません。 実装はプロバイダーによって異なります。 詳細については、about_Providersを参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Include
文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン ("*.txt"など) を入力します。 ワイルドカード文字を使用できます。
Include パラメーターは、コマンドに項目の内容 (ワイルドカード文字が C:\Windows\* ディレクトリの内容を指定する C:\Windowsなど) が含まれている場合にのみ有効です。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-LiteralPath
1 つ以上の場所へのパスを指定します。 LiteralPath の値は、入力されたとおりにそのまま使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
詳細については、about_Quoting_Rulesを参照してください。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
パラメーター セット
LiteralPath
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Options
これは、Alias および Function プロバイダーによって使用できる動的パラメーターです。 詳細については、「about_Alias_Provider と about_Function_Provider」を参照してください。
エイリアスの Options プロパティの値を指定します。
有効な値は次のとおりです。
-
None: エイリアスに制約がありません (既定値) -
ReadOnly: エイリアスは削除できますが、Force パラメーターを使用しないと変更できません -
Constant: エイリアスを削除または変更することはできません -
Private: エイリアスは現在のスコープでのみ使用できます -
AllScope: エイリアスは、作成された新しいスコープにコピーされます -
Unspecified: オプションが指定されていません
パラメーターのプロパティ
| 型: | ScopedItemOptions |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-PassThru
項目を表すオブジェクトをパイプラインに渡します。 既定では、このコマンドレットは出力を生成しません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Path
項目の場所のパスを指定します。 ワイルドカード文字を使用できます。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
Path
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Type
これは、Registry プロバイダーによって使用できる動的パラメーターです。 レジストリ プロバイダーとこのパラメーターは、Windows でのみ使用できます。
このコマンドレットが追加するプロパティの種類を指定します。 このパラメーターに使用できる値は次のとおりです。
-
String: null で終わる文字列を指定します。 REG_SZ 値に使用されます。 -
ExpandString: 値の取得時に展開される環境変数への展開されていない参照を含む null で終わる文字列を指定します。 REG_EXPAND_SZ 値に使用されます。 -
Binary: 任意の形式のバイナリ データを指定します。 REG_BINARY 値に使用されます。 -
DWord: 32 ビットの 2 進数を指定します。 REG_DWORD 値に使用されます。 -
MultiString: それぞれが null 文字で終わる文字列の配列で、配列全体は 2 つの null 文字で終了します。 REG_MULTI_SZ 値に使用されます。 -
Qword: 64 ビットの 2 進数を指定します。 REG_QWORD 値に使用されます。 -
Unknown: REG_RESOURCE_LIST 値など、サポートされていないレジストリ データ型を示します。
パラメーターのプロパティ
| 型: | RegistryValueKind |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Value
項目の新しい値を指定します。
パラメーターのプロパティ
| 型: | Object |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | 1 |
| 必須: | False |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | ウィスコンシン |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
Object
項目の新しい値を表すオブジェクトをこのコマンドレットにパイプできます。
出力
None
既定では、このコマンドレットは出力を返しません。
Object
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を参照してください。