[解決済み】PowerShellでユーザー入力を求めるプロンプトを表示する
2022-04-06 04:03:36
質問
パスワードやファイル名など、一連の入力を求めるプロンプトを表示したい。
を使う例があります。
host.ui.prompt
というのは感覚的にわかるのですが、その返り値がわからないのです。
PowerShellでユーザー入力を取得するための良い方法はありますか?
どのように解決するのですか?
Read-Host
は、ユーザーから文字列の入力を得るためのシンプルなオプションです。
$name = Read-Host 'What is your username?'
パスワードを隠すには、次のようにします。
$pass = Read-Host 'What is your password?' -AsSecureString
パスワードをプレーンテキストに変換する場合。
[Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass))
が返す型については
$host.UI.Prompt()
にパイプすることで、戻り値の型を知ることができます。
Get-Member
(例えば
$results | gm
). 結果は、キーが
FieldDescription
オブジェクトが使用される。リンク先の例で最初のプロンプトの結果にアクセスするには、次のように入力します。
$results['String Field']
.
メソッドを呼び出さずに情報にアクセスするには、括弧をオフにします。
PS> $Host.UI.Prompt
MemberType : Method
OverloadDefinitions : {System.Collections.Generic.Dictionary[string,psobject] Pr
ompt(string caption, string message, System.Collections.Ob
jectModel.Collection[System.Management.Automation.Host.Fie
ldDescription] descriptions)}
TypeNameOfValue : System.Management.Automation.PSMethod
Value : System.Collections.Generic.Dictionary[string,psobject] Pro
mpt(string caption, string message, System.Collections.Obj
ectModel.Collection[System.Management.Automation.Host.Fiel
dDescription] descriptions)
Name : Prompt
IsInstance : True
$Host.UI.Prompt.OverloadDefinitions
を実行すると、そのメソッドの定義が表示されます。各定義は、以下のように表示されます。
<Return Type> <Method Name>(<Parameters>)
.
関連
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] PowerShellでコマンドライン引数を処理する方法
-
[解決済み] PowerShellでスクリプトを終了させる
-
[解決済み] PowerShell 2.0を使ってディレクトリ全体を再帰的に削除するには?
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Send-MailMessage - リモートサーバーに接続できません。
-
[解決済み] ConvertTo-Csv 引用符なしの出力
-
[解決済み] [System.Web.Security.Membership]::GeneratePassword() - Type Not found
-
[解決済み] xPath を使用する Powershell スクリプトの .SelectSingleNode が web.config ファイルから値を抽出する際に動作していない
-
[解決済み] Powershellでパラメータを切り替える
-
[解決済み] PowerShellで遠隔地からファイルをコピーする
-
[解決済み] PowerShellでLDAPクエリ
-
[解決済み] PowerShellの複数行コメント
-
[解決済み] Get-MSolUserのフィルタリング方法
-
[解決済み] PowerShellの画面を各コマンドの前に自動的にクリアする方法はありますか?