分かりやすく、使いやすく。

ユーザーの入力を受け付けて、入力内容を変数に入れて使用する方法

スポンサーリンク

PowerShell では Read-Host コマンドレットを使用すると、実行時にユーザーからの入力を受け付けて、入力内容を受け取ることができます。

PowerShell(書式)
1
Read-Host 入力受付時に表示するメッセージ 

以下のサンプルコードでは、ユーザーからの入力内容を $a という変数に格納して使用しています。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
# ユーザーから入力を受け付けて入力内容を $a に格納
$a =(Read-Host 年齢を入力してください)
 
if($a -lt 18){
    # 入力された数字が 18 未満
    Write-Host ここから先はすすめません。
}else{
    # 入力された数字が 18 以上
    Write-Host 全ページ閲覧可能です。
} 

ユーザーの入力文字列をセキュア文字列として扱うには -AsSecureString パラメータを使用します。このパラメータを使用すると、入力時に画面にはマスキングされた文字が表示されて、入力内容が見えなくなります。またプログラムの中でも、通常の文字列ではなく System.Security.SecureString オブジェクトとして扱われセキュリティが確保されます。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
# ユーザーからの入力をセキュア文字列で受け付けます
$a =(Read-Host なにか入力してください -AsSecureString)
 
# System.Security.SecureString と表示されて中身は見られません
Write-Host $a 

セキュア文字列を平文に戻したい場合は次の記事を参照してください。

参考:セキュア文字列を復号して平文にする

スポンサーリンク