Convert-UrnToPath

SQL Server管理オブジェクト URN をWindows PowerShell プロバイダー パスに変換します。

構文

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

説明

Convert-UrnToPath コマンドレットは、SQL Server管理オブジェクトの Uniform Resource Name (URN) をSQL Server プロバイダー パスに変換します。

SQL Server 管理オブジェクトには、SQL Server オブジェクト階層でのその場所を示す文字列を返す Urn プロパティがあります。

Urn 内のノードが、Windows PowerShell パス ノードでサポートされていない拡張文字を持つSQL Server区切り識別子である場合、拡張文字は 16 進数表現でエンコードされます。

たとえば、テーブル名 "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 を文字列として返します。

例 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 に渡すために使用されます。

パラメーター

-Urn

SQL Server階層内のオブジェクトの場所を識別するSQL Server URN を指定します。

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

入力

String

SQL Server管理オブジェクト URN を表す文字列を指定します。

出力

String

SQL Server PowerShell プロバイダー パスを表す文字列を指定します。