当方初心者で基本的な質問となり恐縮ですが、どうぞよろしくお願いします。
現状、powershell でスクリプトを作成しています。
実行ユーザーに対し、(例えば remove-xxx 等コマンドレットの実行前に) y/n の確認ダイアログを表示したいのですが、うまく動作せずに困っています。
お手数ですが、適切な記述についてご支援を頂けますと幸いです。
※ 実行するコマンドレットによっては -confirm オプション等が用意されていない場合もあるため、別途 意図的に表示させたいです。
Add-Type -AssemblyName system.windows.forms
function MBox {
$msg1 = "本当に実行しますか ?"
$ttle1 = "実行前確認"
$yn = [System.Windows.Forms.MessageBox]::Show($msg1,$ttle1, "YesNo", "question")
write-host "実行確認" $yn ## ← ここでは yes/no が返っています。
}
$j1 = Get-ADuser -filter *
$yn1 = MBox ## ← msgbox が無事表示されます。
if ($yn1 -like "y*"){
$j1 |Export-Csv -Path c:\get-aduser.csv -Encoding Unicode -Confirm
}else{}
[補足]
関数 MBox 設定時の $yn では msgbox の返り値を得ているようなのですが、後で MBox を呼び出して返り値が yes の場合に CSV にエクスポートしようとすると、yes で判定されずに終了しています。
※ ご質問させて頂いた意図としては、確認ダイアログを表示する度に
$yn = [System.Windows.Forms.MessageBox]::Show($msg1,$ttle1, "YesNo", "question")
↑ のような記述を簡潔にしたいというものになります。
よろしくお願いします。
過去ログを丁寧に見直していたところ、気になる記載がありましたので、確認してみます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/05 10:10