Import-CsAnnouncementFile
上一次修改主题: 2012-03-23
将公告文件导入到公告服务音频库。
语法
Import-CSAnnouncementFile -Parent <String> -Content <Byte[]> -FileName <String> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]
详细说明
此 cmdlet 将音频文件作为字节数组导入到公告服务音频库。这使文件能够作为未分配号码的通知进行播放。
运行此 cmdlet 会将音频文件导入到库中。导入文件之后,通过调用 New-CsAnnouncement 或 Set-CsAnnouncement cmdlet,然后将文件名及相关服务作为参数传递,可以在公告中使用该文件。这时,就能够调用 New-CsUnassignedNumber 或 Set-CsUnassignedNumber cmdlet 以向公告分配特定范围的号码。
导入的文件必须是 WAV 或 WMA 文件。
谁能运行此 cmdlet:默认情况下,以下各组的成员有权在本地运行 Import-CsAnnouncementFile cmdlet:RTCUniversalServerAdmins。但是,对目标计算机文件存储具有写入权限的任何人也可以运行此 cmdlet。要返回分配了此 cmdlet 的所有基于角色的访问控制 (RBAC) 角色列表(包括您自己创建的任何自定义 RBAC 角色),请从 Windows PowerShell 提示符处运行以下命令:
Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Import-CsAnnouncementFile"}
参数
参数 | 必需 | 类型 | 描述 |
---|---|---|---|
Parent |
必需 |
字符串 |
正在运行关联的公告服务的应用程序服务器的服务 ID。 |
FileName |
必需 |
字符串 |
希望文件在文件存储中具有的名称。调用 New-CsAnnouncement 或 Set-CsAnnouncement cmdlet 时,您将在 AudioFilePrompt 参数中使用此名称,以将文件分配给公告。 |
Content |
必需 |
Byte[] |
作为字节数组的音频文件的内容。 |
Force |
可选 |
开关参数 |
在进行更改前取消可能另外显示的任何确认提示。 |
WhatIf |
可选 |
开关参数 |
描述如果执行命令会发生什么情况(无需实际执行命令)。 |
Confirm |
可选 |
开关参数 |
在执行命令之前提示您进行确认。 |
输入类型
Byte[]。接受音频文件中的字节数组。字节数组必须以单条记录的形式通过管道传递。请参阅示例 3。
返回类型
此 cmdlet 不会返回值。
示例
-------------------------- 示例 1 --------------------------
$a = Get-Content ".\GreetingFile.wav" -ReadCount 0 -Encoding Byte
Import-CsAnnouncementFile -Parent ApplicationServer:redmond.litwareinc.com -FileName "WelcomeMessage.wav" -Content $a
这些命令会将音频文件导入到通知服务文件存储中。因为音频文件必须作为字节数组导入,所以我们首先需要调用 Get-Content cmdlet,以检索作为单个字节数组的音频文件。Get-Content 是 Windows PowerShell 内置的 cmdlet,我们可向其传递要用于通知的文件的名称(包括路径)。接着,将值 0 传递到 ReadCount 参数,这表示我们需要立即读取整个文件。然后,将 Byte 值传递到 Encoding 参数,这将告知 Get-Content 我们希望将文件内容作为字节数组。将该数组分配给变量 $a。
在第二行中,调用 Import-CsAnnouncementFile cmdlet 以实际导入文件。将服务 Identity ApplicationServer:redmond.litwareinc.com 传递到 Parent 参数,随后将名称传递到 FileName 参数 (WelcomeMessage.wav)。该名称可以是任何有效的 Windows 操作系统文件名,但应当以 .wav 或 .wma 扩展名结尾。最后,将变量 $a 作为值传递到 Content 参数,以在字节数组中进行读取。
-------------------------- 示例 2 --------------------------
Import-CsAnnouncementFile -Parent ApplicationServer:redmond.litwareinc.com -FileName "WelcomeMessage.wav" -Content (Get-Content ".\GreetingFile.wav" -ReadCount 0 -Encoding Byte)
示例 2 与示例 1 基本相同。唯一不同的是,示例 2 将 Get-Content 命令作为 Content 参数的值包含到括号内,而示例 1 是独立调用该命令并将其分配给变量。
-------------------------- 示例 3 --------------------------
Get-Content ".\GreetingFile.wav" -ReadCount 0 -Encoding Byte | Import-CsAnnouncementFile -Parent ApplicationServer:redmond.litwareinc.com -FileName "WelcomeMessage.wav"
示例 3 仍然是示例 1 的另一种变体。不同之处在于,此示例不使用 Content 参数,而是首先调用 Get-Content cmdlet,然后将结果通过管道传递到 Import-CsAnnouncement。这是从远程会话导入通知文件的最可靠方式。