次の方法で共有


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 プロバイダー パスを表す文字列を指定します。