Convert-UrnToPath
SQL Server 管理オブジェクト URN を Windows PowerShell プロバイダー パスに変換します。
構文
Convert-UrnToPath
[-Urn] <String>
[-ProgressAction <ActionPreference>]
[<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 に渡すために使用されます。
パラメーター
-ProgressAction
スクリプト、コマンドレット、またはプロバイダーによって生成された進行状況の更新 (Write-Progress コマンドレットによって生成された進行状況バーなど) に対する PowerShell の応答方法を決定します。 Write-Progress コマンドレットは、コマンドの状態を示す進行状況バーを作成します。
型: | ActionPreference |
Aliases: | proga |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Urn
SQL Server 階層内のオブジェクトの場所を識別する SQL Server URN を指定します。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
String
SQL Server 管理オブジェクト URN を表す文字列を指定します。
出力
String
SQL Server PowerShell プロバイダー パスを表す文字列を指定します。