Import-CsAnnouncementFile

 

上一次修改主题: 2012-03-23

将公告文件导入到公告服务音频库。

语法

Import-CSAnnouncementFile -Parent <String> -Content <Byte[]> -FileName <String> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

详细说明

此 cmdlet 将音频文件作为字节数组导入到公告服务音频库。这使文件能够作为未分配号码的通知进行播放。

运行此 cmdlet 会将音频文件导入到库中。导入文件之后,通过调用 New-CsAnnouncementSet-CsAnnouncement cmdlet,然后将文件名及相关服务作为参数传递,可以在公告中使用该文件。这时,就能够调用 New-CsUnassignedNumberSet-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-CsAnnouncementSet-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。这是从远程会话导入通知文件的最可靠方式。