2014-04-17 49 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

相关问题