URN から SQL Server プロバイダー パスへの変換
SQL Server 管理オブジェクト (SMO) モデルでは、オブジェクトに対して URN (Uniform Resource Name) が作成されます。 各 URN によって、SMO オブジェクトが一意に識別されます。また、Convert-UrnToPath コマンドレットを使用して、URN を SQL Server PowerShell プロバイダーのパスに変換できます。
パスへの URN の変換
各 URN に含まれる情報はオブジェクトへのパスと同じですが、形式が異なります。 たとえば、テーブルへのパスは次のようになります。
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012\Tables\Person.Address
これと同じオブジェクトへの URN は次のようになります。
Server[@Name='MyComputer']\Database[@Name='AdventureWorks2012']\Table[@Name='Address' and @Schema='Person']
PowerShell スクリプトで SMO オブジェクトを作成した場合は、Urn プロパティを参照してそのオブジェクトの URN を取得し、Convert-UrnToPath コマンドレットを使用して SMO URN 文字列を Windows PowerShell パスに変換できます。 次に、プロバイダーを使用して、パス上の別の場所に移動できます。
Windows PowerShell パス名でサポートされない拡張文字がノード名に含まれている場合、Convert-UrnToPath はそれらの文字を 16 進数表記でエンコードします。 たとえば、"My:Table" は "My%3ATable" として返されます。
このコマンドレットの使用例については、Windows PowerShell で次を実行してください。
Get-Help Convert-UrnToPath -Examples