我們使用powershell在我們的Active Directory中自動創建我們的學生用戶。除啓用郵箱之外,我們有一切正常工作。我們只給我們的中學生提供電子郵件地址。所以我試圖讓腳本讀取csv,並且只爲中學生啓用郵箱。我們所有的中學的校園編號都小於100,所以我試圖讓腳本使用ForEach,然後如果$ _。extensionAttribute1(校園編號爲csv的列)小於100,那麼它將郵件啓用帳戶。我遇到的問題是隻處理第一個用戶並結束腳本。我想讓它遍歷csv中的每一行。這是我的腳本。IfEach中的聲明使用csv
add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
Import-CSV C:\scripts\updateuser.csv | ForEach {
$campus =$_.extensionAttribute1
If ($campus -lt '100') {
Enable-Mailbox -Identity $_.sAMAccountName -Database NISDSRV6DB1
}}
任何幫助,你可以提供使這貫穿整個csv將不勝感激。 非常感謝您的幫助。
編輯...我搞亂了csv文件,我得到了一些有趣的結果。這個腳本會顯示任何內容的唯一途徑是,如果extensionAttribute1場用1填充我試圖讓小於100
您的語法看起來正確 - 您確定它的行爲與您認爲的一致嗎?嘗試在if語句之前編寫一條消息進行調試,以查看它在ForEach-Object循環中執行多少次。 – dugas
您的代碼看起來不錯,我會考慮重現您的CSV文件或至少將一個虛擬CSV文件放在一起並測試反對。我懷疑當前CSV中的某些內容導致循環在處理第一行後停止。 – nimizen