Convert-UrnToPath

Converts a SQL Server Management Object URN to a Windows PowerShell provider path.

Syntax

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

Description

The Convert-UrnToPath cmdlet converts a SQL Server Management Object Uniform Resource Name (URN) to a SQL Server provider path.

SQL Server Management Objects have a Urn property that returns a string indicating their location in the SQL Server object hierarchy.

If nodes in the Urn are SQL Server delimited identifiers with extended characters that are not supported in Windows PowerShell path nodes, the extended characters are encoded with their hexadecimal representation.

For example, a table name "Main:Table" is encoded as "Main%3ATable".

Examples

Example 1: Get a string containing the current path

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

This command returns a string that contains the current path. The example uses the ToString() function of the Urn property to return the Urn as a string.

Example 2: Set the path location based on a URN

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

This command sets the path to the location specified in a SQL Server Management Object URN.

Example 3: Get database paths

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

This command returns an array of strings that contain the path to a database in the default instance. The pipeline operator is used to pass the current node URN to Convert-UrnToPath.

Parameters

-ProgressAction

Determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider, such as the progress bars generated by the Write-Progress cmdlet. The Write-Progress cmdlet creates progress bars that show a command's status.

Type:ActionPreference
Aliases:proga
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Urn

Specifies a SQL Server URN that identifies the location of an object in the SQL Server hierarchy.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Inputs

String

Specifies a string that represents a SQL Server Management Object URN.

Outputs

String

Specifies a string that represents a SQL Server PowerShell provider path.