次の方法で共有


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: プロンプト関数のオプションを設定する

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

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

パラメーター

-Confirm

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

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

-Credential

Note

このパラメーターは、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_Providerabout_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 プロバイダーによって使用できる動的パラメーターです。 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

入力

Object

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

出力

None

既定では、このコマンドレットは出力を返しません。

Object

PassThru パラメーターを使用すると、このコマンドレットは項目を表すオブジェクトを返します。

メモ

PowerShell には、 Set-Itemの次のエイリアスが含まれています。

  • すべてのプラットフォーム:

    • si
  • Set-Item は、PowerShell FileSystem プロバイダーではサポートされていません。 ファイル システム内の項目の値を変更するには、 Set-Content コマンドレットを使用します。

  • レジストリ ドライブの HKLM:HKCU:では、レジストリ キーの (既定) 値のデータが変更 Set-Item

    • レジストリ キーの名前を作成および変更するには、 New-ItemRename-Item コマンドレットを使用します。
    • レジストリ値の名前とデータを変更するには、 New-ItemPropertySet-ItemProperty、および Rename-ItemProperty コマンドレットを使用します。
  • Set-Item は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「 Get-PsProvider」と入力します。 詳細については、「 about_Providers」を参照してください。