我沒有從用戶的輸入中得到任何結果..但是這條訊息:Get-ADUser:無法驗證引數'Identity'的引數
對不起,我只是PS的初學者。我在這里做錯了什么?我正在嘗試將用戶的輸入輸入到 Get-ADUser -Identity $Username 但似乎它沒有接受輸入..
function Show-Menu {
param (
[string]$Title = 'UserInfo V3.1'
)
Write-Host "Enter the user ID: " -ForegroundColor Cyan -NoNewline
$UserName = Read-Host
Write-Host ""
Write-Host "================ $Title ================"
Write-Host "Press 'U' for general user info."
Write-Host "Press 'P' for account and password information."
Write-Host "Press 'C' for computer info."
Write-Host "Press 'G' for Virtual Applications (AVC)."
write-Host "Press 'S' for SNOW info details"
Write-Host "Press 'Q' to Quit."
write-Host "=============================================="
}
do
{
Show-Menu
$Selection = Read-Host "Please make a selection"
switch ($Selection)
{
'U' {Get-ADUser -Identity $Username}
}
Pause
}
until ($Input -eq 'q')
uj5u.com熱心網友回復:
您的代碼有 2 個問題,第一個問題$UserName 已定義且僅存在于您的函式范圍內Show-Menu,要糾正此問題,您可以Read-Host在函式內部呼叫,但不要將其分配給任何變數,以便我們可以在每個函式呼叫 ( $userName = Show-Menu) 中捕獲用戶名。第二個問題是您使用了自動變數$inputon until ($input -eq 'q')。
function Show-Menu {
param (
[string]$Title = 'UserInfo V3.1'
)
Write-Host "Enter the user ID: " -ForegroundColor Cyan -NoNewline
Read-Host # This can be output from your function
Write-Host ""
Write-Host "================ $Title ================"
Write-Host "Press 'U' for general user info."
Write-Host "Press 'P' for account and password information."
Write-Host "Press 'C' for computer info."
Write-Host "Press 'G' for Virtual Applications (AVC)."
write-Host "Press 'S' for SNOW info details"
Write-Host "Press 'Q' to Quit."
write-Host "=============================================="
}
do {
$userName = Show-Menu # which is captured here
$Selection = Read-Host "Please make a selection"
switch ($Selection) {
'U' { Get-ADUser -Identity $Username; pause }
}
} until ($Selection -eq 'q')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/454139.html
