Read-Host
コンソールから入力行を読み取ります。
構文
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
説明
Read-Host
コマンドレットは、コンソール (stdin) から入力行を読み取ります。 これを使用して、ユーザーに入力を求めることができます。 入力をセキュリティで保護された文字列として保存できるため、このコマンドレットを使用して、パスワードなどのセキュリティで保護されたデータをユーザーに求めることができます。
手記
Read-Host
には、ユーザーからの入力として受け入れることができる 1022 文字の制限があります。
例
例 1: コンソール入力を変数に保存する
次の使用例は、"Please enter your age:" という文字列をプロンプトとして表示します。 値を入力し、Enter キーを押すと、値は $Age
変数に格納されます。
$Age = Read-Host "Please enter your age"
例 2: コンソール入力をセキュリティで保護された文字列として保存する
次の使用例は、"Enter a Password:" という文字列をプロンプトとして表示します。 値を入力すると、入力の代わりにアスタリスク (*
) がコンソールに表示されます。 Enter キーを押すと、値は $pwd_secure_string
変数に SecureString オブジェクトとして格納されます。
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
例 3: 入力をマスクし、プレーンテキスト文字列として
次の使用例は、"Enter a Password:" という文字列をプロンプトとして表示します。 値を入力すると、入力の代わりにアスタリスク (*
) がコンソールに表示されます。 Enter キーを押すと、値はプレーンテキスト 文字列 オブジェクトとして $pwd_string
変数に格納されます。
$pwd_string = Read-Host "Enter a Password" -MaskInput
パラメーター
-AsSecureString
ユーザーが入力として入力した文字の代わりに、コマンドレットにアスタリスク (*
) が表示されることを示します。 このパラメーターを使用すると、
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaskInput
ユーザーが入力として入力した文字の代わりに、コマンドレットにアスタリスク (*
) が表示されることを示します。 このパラメーターを使用すると、Read-Host
コマンドレットの出力は String オブジェクトになります。
これにより、SecureStringではなくプレーンテキストとして返されるパスワード
このパラメーターは PowerShell 7.1 で追加されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Prompt
プロンプトのテキストを指定します。 文字列を入力します。 文字列にスペースが含まれている場合は、引用符で囲みます。 PowerShell は、入力したテキストにコロン (:
) を追加します。
型: | Object |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットは、PowerShell パイプラインからの入力を受け入れません。
出力
System.String or System.Security.SecureString
AsSecureString パラメーターを使用 Read-Host
場合は、SecureStringが返されます。 それ以外の場合は、文字列を返します。
メモ
このコマンドレットは、ホスト プロセスの stdin ストリームからのみ読み取ります。 通常、stdin ストリームはホスト コンソールのキーボードに接続されます。