在 SharePoint 2016 中使用 PowerShell 创建 Word Automation Service 应用程序
Word Automation Services 服务应用程序为开发人员提供了一种方法,可以在服务器端将 Microsoft Word 支持的文档(例如 .doc、.docx、.rtf 等)转换为其他格式,例如 PDF、XPS、RTF、DOCX、换句话说,Word Automation Services 为 SharePoint 提供了 Microsoft Word 客户端的“另存为”功能。
如何使用 SharePoint 2016 管理中心创建 Word Automation Service 应用程序?
要从 SharePoint 2016 管理中心站点创建 Word Automation Service 应用程序,请转到:
- 应用程序管理>>管理服务应用程序。
- 在“服务应用程序”选项卡上,单击“新建>>”,然后单击“Word Automation Services 应用程序”。
在“创建新的 Word Automation Services 应用程序”对话框中,输入名称、应用程序池,选择“添加到默认代理列表”,然后单击“下一步”。
输入单词自动化服务应用程序的数据库服务器名称和数据库名称。单击“完成”。
- 创建后,Word Automation Services 的新实例将显示在“服务应用程序”选项卡上的服务应用程序列表中。
用于创建 Word Automation Service 应用程序的 PowerShell 脚本:
使用此 PowerShell 脚本在 SharePoint 2013/SharePoint 2016 中创建文字自动化服务应用程序。
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Configuration Parameters
$ServiceAppName = "Word Automation Service Application"
$AppPoolName = "Service Application App Pool"
$AppPoolAccount = "Crescent\SP16-ServiceAppPool"
$DBName = "SP16_WordAutomation_ServiceApp"
$DBServer="SP16-SQL"
Try {
#Set the Error Action
$ErrorActionPreference = "Stop"
#Check if Managed account is registered already
Write-Host -ForegroundColor Yellow "Checking if the Managed Accounts already exists..."
$AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolAccount -ErrorAction SilentlyContinue
if($AppPoolAccount -eq $null)
{
Write-Host "Please Enter the password for the Service Account..."
$AppPoolCredentials = Get-Credential $AppPoolAccount
$AppPoolAccount = New-SPManagedAccount -Credential $AppPoolCredentials
}
#Check if the application pool exists already
Write-Host -ForegroundColor Yellow "Checking if the Application Pool already exists"
$AppPool = Get-SPServiceApplicationPool -Identity $AppPoolName -ErrorAction SilentlyContinue
if ($AppPool -eq $null)
{
Write-Host -ForegroundColor Green "Creating Application Pool..."
$AppPool = New-SPServiceApplicationPool -Name $AppPoolName -Account $AppPoolAccount
}
#Check if the Service application exists already
Write-Host -ForegroundColor Yellow "Checking if Word Automation Service Application exists already"
$ServiceApplication = Get-SPServiceApplication -Name $ServiceAppName -ErrorAction SilentlyContinue
if ($ServiceApplication -eq $null)
{
#There is no New-SPWordConversionServiceApplicationProxy, we can't therefore set it's name
#The -default parameter adds the automatically created proxy to the default proxy group
Write-Host "Creating $ServiceAppName Application & Proxy..."
$ServiceApp = New-SPWordConversionServiceApplication -Name $ServiceAppName -ApplicationPool $AppPoolName -DatabaseName $DBName -DatabaseServer $DBServer -Default
}
#Start Service Instance(s)
Write-Host -ForegroundColor Yellow "Starting the Word Automation Service Instance..."
$ServiceInstance = Get-SPServiceInstance | where-object {$_.TypeName -eq "Word Automation Services"} | Start-SPServiceInstance
Write-Host "Word Automation Service Application Created successfully!" -ForegroundColor Green
}
catch {
Write-Host $_.Exception.Message -ForegroundColor Red
}
finally {
#Reset the Error Action to Default
$ErrorActionPreference = "Continue"
}
没有用于为文字自动化服务创建服务应用程序代理的 cmdlet(例如:New-SPWordConversionServiceApplicationProxy。因此,上述 cmdlet 中的 -Default 开关将自动创建的代理添加到默认代理组中。

