2015-02-24 129 views
1

我有一個腳本,目前有幾件事情。它在Active Directory中創建用戶帳戶,將數據寫入SQL表並使用帳戶的用戶名和密碼向帳戶請求者發送電子郵件。添加超鏈接到通過PowerShell生成的電子郵件

我們希望爲該電子郵件添加一個超鏈接,以便請求者可以點擊查看他們的原始請求表單,但我似乎無法使語法正確。

因爲在PowerShell語法和HTML鏈接中使用雙引號,所以我將鏈接定義爲變量並將該變量插入到電子郵件的-body部分以消除雙引號混淆,儘管這可能不是必要。

任何人都可以幫我在這封電子郵件中插入一個鏈接嗎? 非常感謝!

最新副本:

"The user account you requested (request #$ReqID) has been created." 

我們想$ REQID超鏈接到Web表單。

變量i已經定義:

$link = '<a href="http://tsturl/detail.aspx?reqID=$reqID">$ReqID</a>' 

但它顯示在電子郵件正文是這樣的:

The user account you requested (request #<a href="http://tsturl/detail.aspx?reqID=$reqID">$ReqID</a>) has been created. 

幫助?

+0

您使用哪些代碼發送電子郵件?你在使用'System.Net.Mail'嗎? – Kev 2015-02-24 21:37:51

回答

2

交換你的引號,即:

$link = "<a href='http://tsturl/detail.aspx?reqID=$reqID'>$ReqID</a>" 

或做:

$link = '<a href="http://tsturl/detail.aspx?reqID=$reqID">$ReqID</a>' 
$link = $ExecutionContext.InvokeCommand.ExpandString($link) 

而且你的評論,如果你想將郵件主體呈現爲HTML,一個這樣顯示的鏈接,那麼你需要告訴你的郵件客戶端,它的主體是HTML。 $link只是一個普通的舊字符串,不知道它是HTML。

從您的previous question中,我猜你正在使用Send-MailMessage cmdlet。如果是這樣,那麼你需要指定-BodyAsHtml開關。

+0

沒有工作。它現在顯示 您請求的用戶帳戶(請求#5816)已創建。 (其中5816是請求ID。) – ColleenH218 2015-02-24 21:32:19

+0

@ ColleenH218 - 我已經修改了我的答案。 – Kev 2015-02-24 21:34:08

+0

@ ColleenH218 - 啊對不起,我以爲你的意思是字符串插值不工作,即仍然在html錨點中顯示'$ reqID'和'$ ReqID'而不是'$ reqID'的值。那麼真的有兩個問題? – Kev 2015-02-24 21:35:47

相關問題