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