[解決済み] 1つのPowerShellスクリプトのパラメータに複数の値を渡す
2022-09-27 05:08:16
質問
サーバー名を$argsで渡すスクリプトがあります。
この方法で、私はこの(これらの)サーバに対して
foreach
:
.\script.ps1 host1 host2 host3
foreach ($i in $args)
{
Do-Stuff $i
}
vlanという名前の付いたオプションのパラメータを追加したいのですが。試してみました。
Param(
[string]$vlan
)
foreach ($i in $args)
{
Write-Host $i
}
Write-Host $vlan
を渡すと動作します。
-vlan
パラメータを渡した場合は動作しますが、渡さなかった場合は スクリプトは自動的に最後のサーバ名を
$vlan
.
では、PowerShellスクリプトに単一または複数のパラメータとオプションの名前付きパラメータを渡すにはどうすればよいのでしょうか。
理想的には、以下が有効な例です。
.\script.ps1 host1
.\script.ps1 host1 host2 host3
.\script.ps1 host1 host2 -vlan office
どのように解決するのですか?
最も簡単な方法は、おそらく 2 つのパラメータを使用することです。1 つはホスト (配列でも可) で、もう 1 つは vlan です。
param([String[]] $Hosts, [String] $VLAN)
の代わりに
foreach ($i in $args)
を使用することができます。
foreach ($hostName in $Hosts)
ホストが一つしかない場合、foreachループは一度だけ繰り返し実行されます。複数のホストをスクリプトに渡すには、配列として渡してください。
myScript.ps1 -Hosts host1,host2,host3 -VLAN 2
...といった具合です。
関連
-
[解決済み] Get-ChildItem -force で My Documents フォルダとその他の接続ポイントに "Access Denied" を報告する。
-
[解決済み] Powershellでパラメータを切り替える
-
[解決済み] PowerShellでディレクトリを変更する
-
[解決済み] PowerShellでショートカットを作成する方法
-
[解決済み] Windows PowerShellでファイルが存在するかどうかをチェックする?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み] 現在のPowerShellスクリプトの場所を特定する最良の方法は何ですか?
-
[解決済み] PowerShellスクリプトに引数を渡すにはどうしたらいいですか?
-
[解決済み] PowerShellでスクリプトを終了させる
-
[解決済み】PowerShellスクリプトを実行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [System.Web.Security.Membership]::GeneratePassword() - Type Not found
-
[解決済み] PowerShell NTFSの高度なパーミッションの設定
-
[解決済み] Get-ADUserとフィルタを含むForEach-Objectループ
-
[解決済み] PowerShellにおけるセット(データ構造)
-
[解決済み] 管理者として実行しても、「要求されたレジストリへのアクセスは許可されません」と表示される。
-
[解決済み] PowerShellで使用するGetType、変数の違いについて
-
[解決済み] PowerShellでデータをCSVにエクスポートする方法は?
-
[解決済み] Powershell New-ScheduledTaskTrigger -RepetitionIntervalを使った反復タスクの実行
-
[解決済み] PowerShellを使用してSFTPにファイルをアップロードする
-
[解決済み] Get-MSolUserのフィルタリング方法