Convert-UrnToPath

将 SQL Server 管理对象 URN 转换为 Windows PowerShell 提供程序路径。

语法

Convert-UrnToPath
       [-Urn] <String>
       [-ProgressAction <ActionPreference>]
       [<CommonParameters>]

说明

Convert-UrnToPath cmdlet 将 SQL Server 管理对象统一资源名称(URN)转换为 SQL Server 提供程序路径。

SQL Server 管理对象具有 Urn 属性,该属性返回一个字符串,指示其在 SQL Server 对象层次结构中的位置。

如果 Urn 中的节点是具有 Windows PowerShell 路径节点中不支持的扩展字符的 SQL Server 分隔标识符,则扩展字符使用十六进制表示形式进行编码。

例如,表名称“Main:Table”编码为“Main%3ATable”。

示例

示例 1:获取包含当前路径的字符串

PS C:\> Set-Location "SQLSERVER:\SQL\MyComputer\MyInstance\Databases\AdventureWorks2014"
PS SQLSERVER:\SQL\MyComputer\MyInstance\Databases\AdventureWorks2014> Convert-UrnToPath -Urn (Get-Item .).Urn.ToString()

SQLSERVER:\SQL\MyComputer\MyInstance\Databases\AdventureWorks2014

此命令返回包含当前路径的字符串。 该示例使用 Urn 属性的 ToString() 函数将 Urn 作为字符串返回 Urn。

示例 2:基于 URN 设置路径位置

PS C:\> Set-Location (Convert-UrnToPath -Urn "Server[@Name='MyComputer']/Database[@Name='AdventureWorks']/Table[@Name='Address' and @Schema = 'Person']")

此命令设置 SQL Server 管理对象 URN 中指定的位置的路径。

示例 3:获取数据库路径

PS C:\> Set-Location "SQLSERVER:\SQL\MyComputer\DEFAULT\Databases"
PS SQLSERVER:\SQL\MyComputer\DEFAULT\Databases> foreach ($Item in Get-ChildItem) { $Item.Urn.ToString() | Convert-UrnToPath }

SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2014

此命令返回包含默认实例中数据库路径的字符串数组。 管道运算符用于将当前节点 URN 传递给 Convert-UrnToPath。

参数

-ProgressAction

确定 PowerShell 如何响应脚本、cmdlet 或提供程序生成的进度更新,例如由 Write-Progress cmdlet 生成的进度栏。 Write-Progress cmdlet 创建显示命令状态的进度栏。

类型:ActionPreference
别名:proga
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Urn

指定一个 SQL Server URN,用于标识 SQL Server 层次结构中对象的位置。

类型:String
Position:1
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输入

String

指定表示 SQL Server 管理对象 URN 的字符串。

输出

String

指定表示 SQL Server PowerShell 提供程序路径的字符串。