我想用.startswith來填充$ targetdb,但它不會填充。我也嘗試使用-match運算符,但仍然沒有運氣。我只需要用戶填寫姓氏的第一個字符。任何幫助將非常感謝你。不會爲表達式增加值
$lastname = "$($_.Surname)"
$region = Read-Host 'Region? (CR, XR, SR, CHI)'
If ($region -match "CR") {$office = "CR*"}
ElseIf ($region -match "SR") {$office = "SR*"}
ElseIf ($region -match "XR") {$office = "CR XR"}
ElseIf ($region -match "CHI") {$office = "NR*"}
Else {Write-Error 'Enter Correct Parameter!'}
$depart = Read-Host 'Department Name?'
If ($lastname.StartsWith("R-Z")) {$TargetDB = "$crmbxdb3"}
$filter = "department -like ""$depart"" -and Enabled -eq ""True"" -and office -like ""$office"""
$output = Get-ADUser -Filter $filter | Format-Table @{label="EmailAddress";expression={$_.UserPrincipalName}}, @{label="LastName";expression={$_.Surname}}, @{label="TargetDatabase";expression={$TargetDB}} | Out-String
$output
在分配$姓氏,你的語法更改爲:$姓= $ _姓或$姓=「$($ _。姓)」。當前語法在訪問Surname屬性之前展開$ _。您也不必在If語句中用引號包圍$ lastname。 – dugas
這沒有奏效,結果相同。我從來沒有得到任何錯誤,所以它很難調試。 – Colby