Set-Variable
変数の値を設定します。 要求された名前の変数が存在しない場合は、変数を作成します。
構文
Set-Variable
[-Name] <String[]>
[[-Value] <Object>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Description <String>]
[-Option <ScopedItemOptions>]
[-Force]
[-Visibility <SessionStateEntryVisibility>]
[-PassThru]
[-Scope <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Set-Variable コマンドレットは、指定した変数に値を割り当てるか、現在の値を変更します。 変数が存在しない場合は、コマンドレットによって作成されます。
例
例 1: 変数を設定し、その値を取得する
PS C:\> Set-Variable -Name "desc" -Value "A description"
PS C:\> Get-Variable -Name "desc"
これらのコマンドは、desc 変数の値を A description に設定し、変数の値を取得します。
例 2: グローバルな読み取り専用変数を設定する
PS C:\> Set-Variable -Name "processes" -Value (Get-Process) -Option constant -Scope global -Description "All processes" -PassThru | Format-List -Property *
このコマンドは、システム上のすべてのプロセスを含むグローバルな読み取り専用変数を作成し、変数のすべてのプロパティを表示します。
このコマンドでは、Set-Variable コマンドレットを使用して変数を作成します。 PassThru パラメーターを使用して新しい変数を表すオブジェクトを作成し、パイプライン演算子 (|) を使用してオブジェクトを Format-List コマンドレットに渡します。 新しく作成された変数のすべてのプロパティを表示するには、Format-List の Property パラメーターと all (*) の値を使用します。
値 "(Get-Process)" は、変数に格納される前に実行されるようにかっこで囲まれています。 それ以外の場合、変数には "Get-Process" という単語が含まれます。
例 3: パブリック変数とプライベート変数を理解する
PS C:\> New-Variable -Name "counter" -Visibility Public -Value 26
PS C:\> $Counter
26
PS C:\> Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
Counter 26
PS C:\> Set-Variable -Name "counter" -Visibility Private
PS C:\> Get-Variable c*
Name Value
---- -----
Culture en-US
ConsoleFileName
ConfirmPreference High
CommandLineParameters {}
PS C:\> $counter
"Cannot access the variable '$counter' because it is a private variable"
PS C:\> .\use-counter.ps1
#Commands completed successfully.
このコマンドは、変数の可視性を Private に変更する方法を示します。 この変数は、必要なアクセス許可を持つスクリプトで読み取りおよび変更できますが、ユーザーには表示されません。
サンプル出力は、パブリック変数とプライベート変数の動作の違いを示しています。
パラメーター
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Description
変数の説明を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Exclude
このコマンドレットが操作から除外する項目の配列を指定します。
このパラメーターの値は、Path パラメーターを修飾します。
パス要素またはパターン (*.txt
など) を入力します。
ワイルドカードを使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Force
既存の読み取り専用変数と同じ名前の変数を作成したり、読み取り専用変数の値を変更することができます。
既定では、変数に ReadOnly または定数のオプション値がない限り、変数を上書きできます。 詳細については、Option パラメーターを参照してください。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Include
このコマンドレットが操作に含める項目の配列を指定します。
このパラメーターの値は、Name パラメーターを修飾します。
c*
など、名前または名前のパターンを入力します。
ワイルドカードを使用できます。
型: | String[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | True |
-Name
変数名を指定します。
型: | String[] |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Option
変数の Options プロパティの値を指定します。
有効な値は次のとおりです。
- なし: オプションを設定しません。 ("None" が既定値です)。
- ReadOnly: 削除できます。 Force パラメーターを使用する場合を除き、変更できません。
- 定数: 削除または変更できません。 "定数" は、変数を作成する場合にのみ有効です。 既存の変数のオプションを "定数" に変更することはできません。
- プライベート: 変数は、現在のスコープでのみ使用できます。
- AllScope: 変数は、作成された新しいスコープにコピーされます。
セッション内のすべての変数の Options プロパティを表示するには、「Get-Variable | Format-Table -Property name, options -Autosize
」と入力します。
型: | ScopedItemOptions |
指定可能な値: | None, ReadOnly, Constant, Private, AllScope, Unspecified |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PassThru
新しい変数を表すオブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Scope
変数のスコープを指定します。このパラメーターに使用できる値は次のとおりです。
- グローバル
- 地元の
- スクリプト
- プライベート
- 現在のスコープに対する相対的な数値 (0 からスコープの数、0 が現在のスコープ、1 がその親)。
既定値は Local です。
詳細については、about_Scopesを参照してください。
型: | String |
配置: | Named |
規定値: | Local |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Value
変数の値を指定します。
型: | Object |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Visibility
変数が作成されたセッションの外部で変数が表示されるかどうかを判断します。 このパラメーターは、他のユーザーに配信されるスクリプトとコマンドで使用するように設計されています。
有効な値は次のとおりです。
- Public: 変数が表示されます。 ("Public" が既定値です)。
- プライベート: 変数は表示されません。
変数がプライベートの場合、変数の一覧 (Get-Variable によって返される変数など) や Variable: ドライブの表示には表示されません。 プライベート変数の値を読み取ったり変更したりするコマンドは、エラーを返します。 ただし、ユーザーは、変数が定義されたセッションでコマンドが書き込まれた場合に、プライベート変数を使用するコマンドを実行できます。
型: | SessionStateEntryVisibility |
指定可能な値: | Public, Private |
配置: | Named |
規定値: | Public |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
変数の値を表すオブジェクトをパイプ処理して、Set-Variableを
出力
None or System.Management.Automation.PSVariable