在 powershell 中檢索使用者的 Exchange 數據庫
我已經斷斷續續地在網際網路上搜尋了幾天來找到這個。我正在為啟用電子郵件的新使用者(Exchange 2007)創建一個 powershell 腳本。
當我們有新員工時,為了給您一些背景知識,他們的 AD 帳戶是在我們的場外服務台創建的,但他們不會創建他們的電子郵件帳戶。
我正在嘗試自動化啟用郵件的使用者過程,這涉及將它們與現有使用者放在同一個數據庫中,禁用 imap pop activesync,最後通過電子郵件發送票證的請求者。
我只想提示輸入新使用者的名稱、要複製的使用者(郵箱、儲存組、數據庫)以及創建後要發送電子郵件的人。
因此,如果有人可以幫助使用命令在 powershell 中檢索使用者的 Exchange 數據庫,那就太好了,但是如果人們也想幫助我破解腳本,請也這樣做!!!
這是我到目前為止所擁有的:
Write-output “ENTER THE FOLLOWING DETAILS” $DName = Read-Host “User Diplay Name" $RUser = Read-Host "Replicate User(Database Grab)" $RData = #get the Replicate user's mailbox database here $REmail = #either just use a Read-Host “Requester's Email address" or ask for Requester's name and pipe through their email address by digging for it w/ powershell Enable-Mailbox -Identity "$DName" -Database "$RData" Send-MailMessage -From "John Doe <John.Doe@Generic.com>" -To (put $REmail here which is the Requester's email) -Subject "Test Person's email account" -Body "Test Person's email account has been setup.`n`n`nJohn Doe`nGeneric Company`nSystems Administrator`nOffice: 123.456.7890`nJohn.Doe@Generic.com" -SmtpServer genericexchange.exchange.com
Karl Mitschke 在官方腳本專家論壇上!能夠解決我的困境!
$ RData = ((Get-Mailbox -Identity $ RUser) .Database) .DistinguishedName
這是連結:http ://social.technet.microsoft.com/Forums/en/ITCG/thread/499deabf-a12d-470a-8773-b11ffa9c8694
再次感謝卡爾!!!
這應該讓你走上正確的軌道,需要注意的是你需要 AD PowerShell 的東西工作;這需要至少一個 2008R2 DC。
GetADUser -Identity "$RUser" -Properties homeMDB
在旁注中,小心你的單詞自動格式化的方向引號 - 我不知道 Powershell 是否能很好地處理這些,但他們確實在 StackExchange 的程式碼著色上做了一些數字。
我不羨慕您嘗試在 powershell 中執行此操作 - 小心驗證使用者可輸入的輸入,並記錄命令的結果。
編輯:您知道嗎,AD 中的該屬性可能不會按照交易所想要的方式進行格式化。試試這個(並且不需要 2008R2):
$RData = (Get-User -Identity "$RUser" | Get-Mailbox | Select-Object Database)