私は動作していないpowershellスイッチを持っています。基本的に、選択内容にかかわらず、サブメニュー(ScanMenuとExport Menu)に進み、THENが他の機能を実行します。私は文を動かそうとしましたが、うまくいきません。誰かが私が間違っていることを見るためにどのような洞察力を持っていますか?Powershellスイッチが動作しない
#Module Import Section
import-module ActiveDirectory
#Global Variables
$Title = "Audit Tool"
#Variables for Menus
$MainMenuMessage = "`nWhat would you like to do?"
$MainMenuOptions = [System.Management.Automation.host.ChoiceDescription[]] @("&Scan Network", "&Check AD Health", "&Quit")
$ScanMessage = "`nWhat would you like to scan for?"
$ExportMessage = "`nWould you like to export these results to .CSV?"
$ScanOptions = [System.Management.Automation.Host.ChoiceDescription[]] @("&Servers", "&Workstations", "&Quit")
$ExportOptions = [System.Management.Automation.Host.ChoiceDescription[]] @("&Yes","&No")
[int]$DefaultMainMenuChoice= 0
[int]$DefaultScanChoice = 0
[int]$DefaultExportChoice = 0
$MainMenu = $host.UI.PromptForChoice($Title, $MainMenuMessage, $MainMenuOptions,$DefaultMainMenuChoice)
$ScanMenu = $host.UI.PromptForChoice($Title , $ScanMessage, $ScanOptions,$DefaultScanChoice)
$ExportMenu = $host.UI.PromptForChoice($Title, $ExportMessage, $ExportOptions,$DefaultExportChoice)
#Menus Function
switch($MainMenu){
0 { switch($ScanMenu){
0 { switch($ExportMenu){
0 { Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*"} -Property * | Export-CSV WindowsServer.csv -NoTypeInformation -Encoding UTF8}
1 { Get-ADComputer -Filter {OperatingSystem -Like "Windows Server*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -wrap -Auto}
1 { switch($ExportMenu){
0 { Get-ADComputer -Filter {OperatingSystem -NotLike "Windows Server*"} -Property * | Export-CSV Workstations.csv -NoTypeInformation -Encoding UTF8}
1 { Get-ADComputer -Filter {OperatingSystem -NotLike "Windows Server*"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemServicePack,OperatingSystemVersion -wrap -Auto}
}
}
}
}
}
}
1 { invoke-expression -Command .\ADScan.ps1}
2 { invoke-expression -Command Exit}
}
試し 'スイッチ([INT] $メインメニュー)'(使用して、すべてのスイッチ上のint) –