次の方法で共有


Read-Host

コンソールから入力行を読み取ります。

構文

AsString (既定)

Read-Host
    [[-Prompt] <Object>]
    [-MaskInput]
    [<CommonParameters>]

AsSecureString

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 オブジェクトとして格納されます。

$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

ユーザーが入力として入力した文字の代わりに、コマンドレットにアスタリスク (*) が表示されることを示します。 このパラメーターを使用すると、 コマンドレットの出力は SecureString オブジェクト (System.Security.SecureString) になります。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

AsSecureString
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MaskInput

ユーザーが入力として入力した文字の代わりに、コマンドレットにアスタリスク (*) が表示されることを示します。 このパラメーターを使用すると、Read-Host コマンドレットの出力は String オブジェクトになります。 これにより、SecureString ではなくプレーンテキストとして返されるパスワードを安全に要求できるようになります。

このパラメーターは PowerShell 7.1 で追加されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

AsString
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Prompt

プロンプトのテキストを指定します。 文字列を入力します。 文字列にスペースが含まれている場合は、引用符で囲みます。 PowerShell は、入力したテキストにコロン (:) を追加します。

パラメーターのプロパティ

型:Object
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:0
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

None

このコマンドレットは、PowerShell パイプラインからの入力を受け入れません。

出力

System.String or System.Security.SecureString

AsSecureString パラメーターを使用すると、Read-HostSecureString を返します。 それ以外の場合は、文字列を返します。

メモ

このコマンドレットは、ホスト プロセスの stdin ストリームからのみ読み取ります。 通常、stdin ストリームはホスト コンソールのキーボードに接続されます。