次の方法で共有


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 を指定します。

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

入力

String

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

出力

String

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