ラージビッグバナー(970x90)

Windows

【Powershell】ユーザからの入力を待つスクリプト

更新日:

ビッグバナー(piglog)728px

対話的にスクリプトを実行させたいときってありますよね。

その基本となる入力を待ちうけるにはどのように書くかをメモしておきます。もちろん Powershell で です。

書き方

基本からいくつかのパターンを紹介します。

基本的な対話入力

↑の内容で read.ps1 を作成し、実行すると以下のように表示されます。

「名前を入力してください:」の後に「トランプ」と入力してエンターキーを押すと以下となります。

 

パスワードの入力など

↑の内容で read_secure.ps1 を作成し、実行すると以下のように表示されます。

見ての通り入力した文字列は伏字で表示されています。この時入力した文字列は暗号化されているため、このままではこの後の処理で扱うことができません。

そのため、以下のようにして SecureString から平文に変換します。

↑のスクリプトを実行し、「President!」と入力してエンターキーを押すと以下のように平文で取得できます。

 

応用編

上の2つの書き方を使ってユーザを作成出来るスクリプトです。応用というよりもそのままくっつけただけ。しかも net user じゃなくて Powershell のコマンドレットでやるべきだよなあ。。。

 

継続確認

入力させるというよりは、コマンドプロンプトでいう pause のイメージです。

何かしらのキーを押すまで処理を待つ、という動きです。オプション -NoNewLine を指定することで改行する前に入力を待つようになります。ちなみに入力された内容は $null で捨てておきます。

 

以上です。

↓↓↓ Powershell のおすすめレシピ ~結局はオライリー~

pig-log_ディスプレイ横長

リンクユニット(レスポンシブ)

-Windows
-,

Copyright© ぴぐろぐ , 2024 All Rights Reserved.