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 、変数やレジストリ キーなどの項目の値を、コマンドで指定された値に変更します。

例 1: 別名を作成する

このコマンドは、メモ帳の np のエイリアスを作成します。

Set-Item -Path alias:np -Value "c:\windows\notepad.exe"

例 2: 環境変数の値を変更する

このコマンドは、UserRole 環境変数の値を管理者に変更します。

Set-Item -Path env:UserRole -Value "Administrator"

例 3: プロンプト関数を変更する

このコマンドは、パスの前の時刻を表示するようにプロンプト関数を変更します。

Set-Item -Path function:prompt -Value {'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '}

例 4: プロンプト関数のオプションを設定する

このコマンドは、プロンプト関数の AllScope オプションと ReadOnly オプションを設定します。 このコマンドでは、 Options の動的パラメーター Set-Itemを使用します。 Options パラメーターは、Alias プロバイダーまたは関数プロバイダーでSet-Item使用する場合にのみ使用できます。

Set-Item -Path function:prompt -Options "AllScope,ReadOnly"

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

注意

このパラメーターは、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 パラメーターは、コマンドに項目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_Wildcardsにあります。 フィルターは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにフィルターを適用するため、他のパラメーターよりも効率的です。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

読み取り専用のエイリアスや変数など、変更できない項目を設定するようにコマンドレットに強制します。 コマンドレットでは、定数のエイリアスまたは変数は変更できません。 実装はプロバイダーごとに異なります。 詳細については、「about_Providers」を参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターンを入力します (例: "*.txt". ワイルドカード文字を使用できます。 Include パラメーターは、コマンドに項目C:\Windows\*の内容 (ワイルドカード文字がディレクトリの内容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

-PassThru

項目を表すオブジェクトをパイプラインに渡します。 既定では、このコマンドレットによる出力はありません。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

項目の場所のパスを指定します。 ワイルドカード文字を使用できます。

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Value

項目の新しい値を指定します。

Type:Object
Position:1
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

入力

Object

項目の新しい値を表すオブジェクトをこのコマンドレットにパイプできます。

出力

None or an object representing the new or changed item.

このコマンドレットは、 PassThru パラメーターを指定すると、項目を表すオブジェクトを生成します。 それ以外の場合、このコマンドレットによる出力はありません。

メモ

  • Set-Item は PowerShell FileSystem プロバイダーではサポートされていません。 ファイル システム内の項目の値を変更するには、コマンドレットを Set-Content 使用します。
  • レジストリ ドライブで、HKLM:レジストリ HKCU:Set-Item キーの (既定値) 値のデータを変更します。
    • レジストリ キーの名前を作成して変更するには、and Rename-Item コマンドレットをNew-Item使用します。
    • レジストリ値の名前とデータを変更するには、、Set-ItemPropertyコマンドレットをRename-ItemProperty使用New-ItemPropertyします。
  • Set-Item は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用できるプロバイダーを一覧表示するには、「.」と入力します Get-PsProvider。 詳細については、「about_Providers」を参照してください。