Windowsの管理はpowershellを使うことが求められることが多くあります。
コマンドごとに「xxx.ps1」ファイルを作るのもいいですが、メニュー型式であればもっと楽にコマンドを投入できるようになります。
powershellでできるメニュー
簡単なメニュー型式でもコマンド投入方法です。
以下がサンプルになります。
# # メニュー # #---------------------- # 初期設定 #---------------------- # PowerShellプログラムパス $Powershell = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" # 自分のフォルダパス $Current = (Convert-Path .) # 今日の日付のファイル #$filename = Get-Date -Format "yyyy-MMdd-HHmmss" # #$today = (Get-Date).ToString(“yyyyMMdd”) #$filename = $today #---------------------- #ここにコマンドを入れる $Arg1titl = "ユーザ一覧のcsv作成" $Arg1dat = "Get-ADUser -Properties * -Filter * |Select-object name |Export-Csv user_$filename.csv -Encoding Default" $Arg2titl = "稼働中のPC一覧" $Arg2dat = "Get-ADComputer -Filter * -Properties IPV4Address | FT name,DNShostname,IPV4address -A" $Arg3titl = "ユーザ検索" $Arg3dat = "Get-ADUser " $Arg4titl = "メモ帳の起動" $Arg4dat = "notepad.exe" #---------------------- function Show-Menu { Write-Host " " Write-Host " " Write-Host "-----------------------------" Write-Host " Menu" Write-Host " 1 :$Arg1titl " Write-Host " 2 :$Arg2titl " Write-Host " 3 :$Arg3titl " Write-Host " 4 :$Arg4titl " Write-Host " " Write-Host " 終了は [ctr] + [c]" Write-Host "-----------------------------" } # メニュータイトル # :top_menu cls while ($true) { Show-Menu $Input_No = Read-Host "番号を入力してください" Write-Host " " switch($input_No) { "1" {Write-Output ("1が入力されました。") Start-Process -FilePath $Powershell -ArgumentList $Arg1dat -NoNewWindow -Wait } "2" {Write-Output ("2が入力されました。") Start-Process -FilePath $Powershell -ArgumentList $Arg2dat -NoNewWindow -Wait } "3" {Write-Output ("3が入力されました。") $Input_user = Read-Host "ユーザ名を入力してください" $Argument3 = $Argument3 + $Input_user Start-Process -FilePath $Powershell -ArgumentList $Arg3dat -NoNewWindow -Wait } "4" {Write-Output ("4が入力されました。") Start-Process -FilePath $Powershell -ArgumentList $Arg4dat -NoNewWindow -Wait } default {Write-Output (" *** もういちど入力 ***`r`n") break } } }