2014-04-17 52 views
0

我正在使用powershell編寫腳本,以便域用戶登錄到計算機時自動運行。在腳本完成後,我希望它發送一封電子郵件到我們的幫助臺售票系統,爲了知道腳本運行在哪個用戶,我想從用戶的電子郵件中發送它。有沒有辦法通過當前登錄用戶的憑據來發送電子郵件。如何獲取當前登錄AD用戶的交換憑據?

我知道在第一次啓動Outlook時,這些字段會自動填充用戶的電子郵件地址,所以我正在尋找類似的東西。

回答

2

這是改編自我EWS腳本使用方法:

$windowsIdentity = [System.Security.Principal.WindowsIdentity]::GetCurrent() 
$sidbind = "LDAP://<SID=" + $windowsIdentity.user.Value.ToString() + '>' 
$MailAddress = ([ADSI]$sidbind).mail.tostring() 

$MailAddress 

這是假設你使用SMTP中繼發送電子郵件。大多數Exchange組織都會在應用程序服務器和MFD之類的設備上設置Exchange接收連接器,這些服務器無法向域驗證以向Exchange收件人發送電子郵件。找出將它放入SMTPServer參數Send-MailMessage的位置。

+0

會給出不同的信息比'get-aduser $ env:USERNAME -prop emailaddress |選擇你知道的--ExpandProperty emailaddress?還是隻是爲了避免依賴模塊? – TheMadTechnician

+0

它會給你相同的信息。這只是爲了避免模塊依賴。 – mjolinor

相關問題