Exchange

在 powershell 中檢索使用者的 Exchange 數據庫

  • March 10, 2011

我已經斷斷續續地在網際網路上搜尋了幾天來找到這個。我正在為啟用電子郵件的新使用者(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)

引用自:https://serverfault.com/questions/245239