Convert-UrnToPath

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

Syntax

Convert-UrnToPath [-Urn] <String> [-InformationAction <ActionPreference>] [-InformationVariable <String>]
 [<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

-Urn

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

Type:String
Required:True
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName, ByValue)
Accept wildcard characters:False
-InformationAction

Specifies how this cmdlet responds to an information event.

The acceptable values for this parameter are:

- Continue

  • Ignore
  • Inquire
  • SilentlyContinue
  • Stop
  • Suspend

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

Specifies an information variable.

Type:String
Aliases:iv
Required:False
Position:Named
Default value:None
Accept pipeline input:False
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.