我正在編寫一個函數,它是一個更大的腳本的一部分,它將從Web窗體獲取輸入,檢查該用戶是否存在於我們的AD或Linux系統中,創建帳戶if它不會,當用戶完成時發送電子郵件給用戶,然後創建一個我們可以打印出來的Word文檔,並向他們提供他們的憑證(無臨時密碼),電子郵件地址以及有關我們IT服務的基本信息。與Word融合在一起,我一直在毆打我的頭。 Word集成在線幾乎爲零的Powershell文檔。我一直不得不從C#和VB翻譯,甚至有一半甚至不能翻譯。我現在主要工作,但我有問題讓PS把我的文本放在Word模板的正確位置。我有一個帶有4個書籤的Word模板,插入用戶的姓名,用戶名,電子郵件地址和帳戶到期時間。問題是,PS將所有文本放在同一個書籤上。我發現如果我靜靜地將腳本中的信息放入腳本中(即。$ FillName.Text ='John Doe'),但是如果我使用了一個變量,它會將它們全部粘在第一個書籤上。這裏是我的代碼:與Powershell一起使用Word模板
Function createWordDocument($fullname,$sam,$mailaddress,$Expiration)
{
$word = New-Object -ComObject "Word.application"
$doc = $word.Documents.add("C:\Users\smiths\Documents\Powershell Scripts\webformCreateUsers\welcome2.dotx")
$FillName=$doc.Bookmarks.Item("Name").Range
$FillName.Text="$fullname "
$FillUser=$doc.Bookmarks.Item("Username").Range
$FillUser.Text="$sam"
$FillMail=$doc.Bookmarks.Item("Email").Range
$FillMail.Text="$mailaddress"
$FillExpiration=$doc.Bookmarks.Item("Expiration").Range
$FillExpiration.Text="$Expiration"
$file = "C:\Users\smiths\Documents\Powershell Scripts\webformCreateUsers\test1.docx"
$doc.SaveAs([ref]$file)
$Word.Quit()
}
該函數接收源自import-csv的參數。 $全名,$山姆和潛在的$ mailaddress都已經從他們的原始輸入進行了修改。 #Expiration來自import-csv raw。任何幫助,將不勝感激。 This似乎是我可以找到的最相關的信息,並且據我所知,我擁有相同的代碼,但它不適用於多個書籤。
我會寫更多的細節的答案,但我經常做類似的事情,我有2個字給你:郵件合併...如果你不熟悉它,你可能想谷歌它,因爲它做你想做的,你可以讓PowerShell自動化它。很快就會有詳細的答案。 – TheMadTechnician