Set-CsLisLocation

 

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

在增强型 9-1-1 (E9-1-1) 的位置配置数据库中创建新位置或修改现有位置。

语法

Set-CsLisLocation -City <String> -CompanyName <String> -Country <String> -HouseNumber <String> -HouseNumberSuffix <String> -Location <String> -PostalCode <String> -PostDirectional <String> -PreDirectional <String> -State <String> -StreetName <String> -StreetSuffix <String> [-Confirm [<SwitchParameter>]] [-WhatIf [<SwitchParameter>]]

Set-CsLisLocation -Instance <PSObject> [-City <String>] [-CompanyName <String>] [-Confirm [<SwitchParameter>]] [-Country <String>] [-HouseNumber <String>] [-HouseNumberSuffix <String>] [-Location <String>] [-PostalCode <String>] [-PostDirectional <String>] [-PreDirectional <String>] [-State <String>] [-StreetName <String>] [-StreetSuffix <String>] [-WhatIf [<SwitchParameter>]]

详细说明

通过 E9-1-1,应答紧急呼叫的人员无需向呼叫者询问位置信息即可确定其地理位置。在 Microsoft Lync Server 2010 中,位置是通过将呼叫者的端口、子网、交换机或无线访问点映射到特定位置来确定的。(此映射称为线路映射。)此 cmdlet 在位置信息服务器 (LIS) 上的位置配置数据库中存储的位置列表中添加新地址或修改现有地址。这些位置随后将与一个有效地址列表匹配,该列表由与公司配合工作的紧急服务提供商提供。

此 cmdlet 的所有必需参数(Instance 除外)的组合构成一个唯一条目。更改其中的任何参数都将创建一个新位置,而不是修改现有位置。请注意,虽然所有这些参数都是必需参数,但是其中一些可以包含 null 值。必须包含非 null 值的参数有:Location、HouseNumber、StreetName、City、State 和 Country。要更改现有的值,必须使用 Instance 参数(或将实例通过管道传递到 cmdlet)。

除了使用此 cmdlet 创建位置之外,在为端口、子网、交换机或无线接入点信息输入新地址时也会自动创建位置。使用 Set-CsLisPortSet-CsLisSubnetSet-CsLisSwitchSet-CsLisWirelessAccessPoint cmdlet 可以输入这些信息。

谁能运行此 cmdlet:默认情况下,以下各组的成员有权在本地运行 Set-CsLisLocation cmdlet:RTCUniversalServerAdmins。要返回分配了此 cmdlet 的所有基于角色的访问控制 (RBAC) 角色列表(包括您自己创建的任何自定义 RBAC 角色),请从 Windows PowerShell 提示符处运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Set-CsLisLocation"}

参数

参数 必需 类型 描述

Instance

必需

PSObject

对位置对象的引用。此对象必须包含创建位置所需的属性。您可以通过调用 Get-CsLisLocation 来检索此类型的对象。

City

必需

字符串

该位置所在的城市。

最大长度:64 个字符。

CompanyName

必需

字符串

此位置的公司名称。

最大长度:60 个字符

Country

必需

字符串

该位置所在的国家/地区。

最大长度:2 个字符

HouseNumber

必需

字符串

位置的门牌号。对于公司,这是该公司所在位置的街道号。

最大长度:10 个字符

HouseNumberSuffix

必需

字符串

门牌号的其他信息,比如 1/2 或 A。例如,1234 1/2 Oak Street 或 1234 A Elm Street。

注意:要指定公寓号或办公房间,必须使用 Location 参数。例如,-Location "Suite 100/Office 150"。

最大长度:5 个字符

Location

必需

字符串

此位置的名称。该值通常是比市政地址更具体的位置名称,例如办公室编号,但也可能是任意字符串值。

最大长度:20 个字符

PostalCode

必需

字符串

与该位置关联的邮政编码。

最大长度:10 个字符

PostDirectional

必需

字符串

街道名称的方向标识。例如,NE 或 NW,或者 Main Street NE 或 7th Avenue NW。

最大长度:2 个字符

PreDirectional

必需

字符串

街道名称前面的街道名称方向标识。例如,NE 或 NW 分别代表 NE Main Street 或 NW 7th Avenue。

最大长度:2 个字符

State

必需

字符串

与该位置关联的州或省。

最大长度:2 个字符

StreetName

必需

字符串

该位置的街道名称。

最大长度:60 个字符

StreetSuffix

必需

字符串

街道名称中指定的街道类型,例如 Street、Avenue 或 Court。

最大长度:10 个字符

WhatIf

可选

开关参数

描述如果执行命令会发生什么情况(无需实际执行命令)。

Confirm

可选

开关参数

在执行命令之前提示您进行确认。

输入类型

接受通过管道传递的 LIS 位置对象的输入。

返回类型

此 cmdlet 不会返回值或对象。它会创建或修改一个类型为 System.Management.Automation.PSCustomObject 的对象。

示例

-------------------------- 示例 1 --------------------------

Set-CsLisLocation -Location Bldg30NEWing -HouseNumber 1000 -StreetName Main -City Redmond -State WA -Country US

示例 1 创建一个名为 Bldg30NEWing 的新位置。此命令将为要创建的位置填充必须具有值的所有参数。在此示例中,该位置的地址是 1000 Main, Redmond, WA, US。通过将 HouseNumber 参数、StreetName 参数、City 参数和 Country 参数的值分别指定为 1000、Main、Redmond 和 US,可以输入该地址。

请注意,如果您在运行命令时带上此处所示参数,将会提示您输入更多参数。但是,在每次提示时只需按 Enter 键而不提供值,即可创建位置。

-------------------------- 示例 2 --------------------------

Set-CsLisLocation -Location "Suite 100/Office 20" -CompanyName "Litware, Inc." -HouseNumber 1234 -HouseNumberSuffix "" -PreDirectional "" -StreetName Main -StreetSuffix St -PostDirectional "" -City Redmond -State WA -PostalCode 99999 -Country US

此示例与示例 1 类似,因为它将创建一个新位置。但在此示例中,该命令为 cmdlet 指定了所有参数。这将避免示例 1 中执行命令后出现的提示,因为此示例只是将我们想要留空的任何值设置为空字符串。

-------------------------- 示例 3 --------------------------

$a = Get-CsLisLocation | Where-Object {$_.Location -ceq "Bldg30NEWing"}
Set-CsLisLocation -Instance $a -StreetSuffix Street

此示例修改示例 1 中创建的位置。此示例中的第一行首先调用了 Get-CsLisLocation cmdlet。这将返回 Lync Server 2010 部署中定义的所有位置的集合。然后,将该集合通过管道传递到 Where-Object cmdlet。Where-Object 从 Location 属性等于(-ceq,区分大小写等于)Bldg30NEWing 的集合中检索所有项。与此条件匹配的对象将分配给变量 $a。

在第 2 行中,我们调用 Set-CsLisLocation。第一个参数是 Instance 参数。我们将包含第一行中检索到的对象的变量 ($a) 传递给此参数,该对象恰好是我们想要修改的对象。然后指定 StreetSuffix 参数,将值 Street 传递给它。这会将变量 $a 中位置的 StreetSuffix 属性值更改为 Street。

请记住,由于 Location 不是唯一属性,因此 Where-Object cmdlet 可能会返回多个位置。如果是这样,此示例将不适用。要一次性修改多个位置,请参阅示例 4。

-------------------------- 示例 4 --------------------------

$a = Get-CsLisLocation | Where-Object {$_.Location -ceq "NorthCampus"}
$a | Set-CsLisLocation -StreetSuffix Avenue

示例 4 修改一个或多个位置对象的 StreetSuffix 属性。此示例的开头与示例 3 非常相似。我们首先通过调用 Get-CsLisLocation 来检索所有位置。然后,我们将此位置集合通过管道传递到 Where-Object,后者将集合的范围缩小到仅包含 Location 属性等于 NorthCampus 的位置。此新集合存储在变量 $a 中。在第 2 行中,我们将 $a 的内容通过管道传递到 Set-CsLisLocation cmdlet。此 cmdlet 将检查 $a 中存储的每个对象(每个位置),然后修改该对象。在此示例中,修改操作是将每个对象的 StreetSuffix 属性更改为 Avenue。

不使用变量也可以实现此示例中的命令。只需将 Where-Object 命令的结果通过管道传递到 Set-CsLisLocation 命令,语法如下:

Get-CsLisLocation | Where-Object {$_.Location -ceq "NorthCampus"} | Set-CsLisLocation -StreetSuffix Avenue