Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini menjelaskan cara membuat penyedia Windows PowerShell yang dapat memanipulasi data dalam penyimpanan data. Dalam topik ini, elemen data di penyimpanan disebut sebagai "item" penyimpanan data. Akibatnya, penyedia yang dapat memanipulasi data di penyimpanan disebut sebagai penyedia item Windows PowerShell.
Nota
Anda dapat mengunduh file sumber C# (AccessDBSampleProvider03.cs) untuk penyedia ini menggunakan Kit Pengembangan Perangkat Lunak Microsoft Windows untuk Komponen Runtime Windows Vista dan .NET Framework 3.0. Untuk petunjuk pengunduhan, lihat Cara Menginstal Windows PowerShell dan Mengunduh Windows PowerShell SDK.
File sumber yang diunduh tersedia di PowerShell Samples direktori. Untuk informasi selengkapnya tentang implementasi penyedia Windows PowerShell lainnya, lihat Merancang Penyedia Windows PowerShell Anda.
Penyedia item Windows PowerShell yang dijelaskan dalam topik ini mendapatkan item data dari database Access. Dalam hal ini, "item" adalah tabel dalam database Access atau baris dalam tabel.
Menentukan kelas penyedia item Windows PowerShell
Penyedia item Windows PowerShell harus menentukan kelas .NET yang berasal dari kelas dasar System.Management.Automation.Provider.ItemCmdletProvider . Berikut ini adalah definisi kelas untuk penyedia item yang dijelaskan di bagian ini.
[CmdletProvider("AccessDB", ProviderCapabilities.None)]
public class AccessDBProvider : ItemCmdletProvider
Perhatikan bahwa dalam definisi kelas ini, atribut System.Management.Automation.Provider.CmdletProviderAttribute menyertakan dua parameter. Parameter pertama menentukan nama yang mudah digunakan untuk penyedia yang digunakan oleh Windows PowerShell. Parameter kedua menentukan kemampuan khusus Windows PowerShell yang diekspos penyedia ke runtime Windows PowerShell selama pemrosesan perintah. Untuk penyedia ini, tidak ada kemampuan khusus Windows PowerShell yang ditambahkan.
Mendefinisikan fungsionalitas dasar
Seperti yang dijelaskan dalam Merancang Penyedia Windows PowerShell Anda, kelas System.Management.Automation.Provider.DriveCmdletProvider berasal dari beberapa kelas lain yang menyediakan fungsionalitas penyedia yang berbeda. Oleh karena itu, penyedia item Windows PowerShell harus menentukan semua fungsionalitas yang disediakan oleh kelas tersebut.
Untuk informasi selengkapnya tentang cara menerapkan fungsionalitas untuk menambahkan informasi inisialisasi khusus sesi dan untuk melepaskan sumber daya yang digunakan oleh penyedia, lihat Membuat Penyedia Windows PowerShell Dasar. Namun, sebagian besar penyedia, termasuk penyedia yang dijelaskan di sini, dapat menggunakan implementasi default fungsionalitas ini yang disediakan oleh Windows PowerShell.
Sebelum penyedia item Windows PowerShell dapat memanipulasi item di penyimpanan, penyedia item Windows harus menerapkan metode kelas dasar System.Management.Automation.Provider.DriveCmdletProvider untuk mengakses ke penyimpanan data. Untuk informasi selengkapnya tentang menerapkan kelas ini, lihat Membuat Penyedia Drive Windows PowerShell.
Memeriksa validitas jalur
Saat mencari item data, runtime Windows PowerShell menyediakan jalur Windows PowerShell ke penyedia, seperti yang didefinisikan di bagian "Konsep PSPath" dari Cara Kerja Windows PowerShell. Penyedia item Windows PowerShell harus memverifikasi validitas sintaksis dan semantik dari jalur apa pun yang diteruskan ke jalur tersebut dengan menerapkan metode System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath . Metode ini mengembalikan true jika jalur valid, dan false sebaliknya. Ketahuilah bahwa implementasi metode ini tidak boleh memverifikasi keberadaan item di jalur, tetapi hanya bahwa jalur tersebut benar secara sintaksis dan semantik.
Berikut adalah implementasi metode System.Management.Automation.Provider.ItemCmdletProvider.IsValidPath untuk penyedia ini. Perhatikan bahwa implementasi ini memanggil metode pembantu NormalizePath untuk mengonversi semua pemisah di jalur menjadi yang seragam.
protected override bool IsValidPath(string path)
{
bool result = true;
// check if the path is null or empty
if (String.IsNullOrEmpty(path))
{
result = false;
}
// convert all separators in the path to a uniform one
path = NormalizePath(path);
// split the path into individual chunks
string[] pathChunks = path.Split(pathSeparator.ToCharArray());
foreach (string pathChunk in pathChunks)
{
if (pathChunk.Length == 0)
{
result = false;
}
}
return result;
} // IsValidPath
Menentukan apakah item ada
Setelah memverifikasi jalur, runtime Windows PowerShell harus menentukan apakah item data ada di jalur tersebut. Untuk mendukung jenis kueri ini, penyedia item Windows PowerShell mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.ItemExists . Metode ini mengembalikan true item ditemukan di jalur yang ditentukan dan false (default) sebaliknya.
Berikut adalah implementasi metode System.Management.Automation.Provider.ItemCmdletProvider.ItemExists untuk penyedia ini. Perhatikan bahwa metode ini memanggil metode pembantu PathIsDrive, ChunkPath, dan GetTable , dan menggunakan objek DatabaseTableInfo yang ditentukan penyedia.
protected override bool ItemExists(string path)
{
// check if the path represented is a drive
if (PathIsDrive(path))
{
return true;
}
// Obtain type, table name and row number from path
string tableName;
int rowNumber;
PathType type = GetNamesFromPath(path, out tableName, out rowNumber);
DatabaseTableInfo table = GetTable(tableName);
if (type == PathType.Table)
{
// if specified path represents a table then DatabaseTableInfo
// object for the same should exist
if (table != null)
{
return true;
}
}
else if (type == PathType.Row)
{
// if specified path represents a row then DatabaseTableInfo should
// exist for the table and then specified row number must be within
// the maximum row count in the table
if (table != null && rowNumber < table.RowCount)
{
return true;
}
}
return false;
} // ItemExists
Hal-hal yang perlu diingat tentang penerapan ItemExists
Kondisi berikut mungkin berlaku untuk implementasi System.Management.Automation.Provider.ItemCmdletProvider.ItemExists:
- Saat menentukan kelas penyedia, penyedia item Windows PowerShell mungkin mendeklarasikan kemampuan
ExpandWildcardspenyedia ,Filter,Include, atauExclude, dari enumerasi System.Management.Automation.Provider.ProviderCapabilities. Dalam kasus ini, implementasi metode System.Management.Automation.Provider.ItemCmdletProvider.ItemExists harus memastikan bahwa jalur yang diteruskan ke metode memenuhi persyaratan kemampuan yang ditentukan. Untuk melakukan ini, metode harus mengakses properti yang sesuai, misalnya, properti System.Management.Automation.Provider.CmdletProvider.Exclude dan System.Management.Automation.Provider.CmdletProvider.Include . - Penerapan metode ini harus menangani segala bentuk akses ke item yang mungkin membuat item terlihat oleh pengguna. Misalnya, jika pengguna memiliki akses tulis ke file melalui penyedia FileSystem (disediakan oleh Windows PowerShell), tetapi tidak memiliki akses baca, file tersebut masih ada dan System.Management.Automation.Provider.ItemCmdletProvider.ItemExists mengembalikan
true. Implementasi Anda mungkin memerlukan pemeriksaan item induk untuk melihat apakah item turunan dapat dihitung.
Melampirkan parameter dinamis ke cmdlet Test-Path
Terkadang Test-Path cmdlet yang memanggil System.Management.Automation.Provider.ItemCmdletProvider.ItemExists memerlukan parameter tambahan yang ditentukan secara dinamis saat runtime. Untuk menyediakan parameter dinamis ini, penyedia item Windows PowerShell harus mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.ItemExistsDynamicParameters. Metode ini mengambil parameter dinamis untuk item di jalur yang ditunjukkan dan mengembalikan objek yang memiliki properti dan bidang dengan atribut penguraian yang mirip dengan kelas cmdlet atau objek System.Management.Automation.RuntimeDefinedParameterDictionary . Runtime Windows PowerShell menggunakan objek yang dikembalikan untuk menambahkan parameter ke Test-Path cmdlet.
Penyedia item Windows PowerShell ini tidak mengimplementasikan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Mengambil item
Untuk mengambil item, penyedia item Windows PowerShell harus mengganti metode System.Management.Automation.Provider.ItemCmdletProvider.GetItem untuk mendukung panggilan dari Get-Item cmdlet. Metode ini menulis item menggunakan metode System.Management.Automation.Provider.CmdletProvider.WriteItemObject .
Berikut adalah implementasi metode System.Management.Automation.Provider.ItemCmdletProvider.GetItem untuk penyedia ini. Perhatikan bahwa metode ini menggunakan metode pembantu GetTable dan GetRow untuk mengambil item yang merupakan tabel dalam database Access atau baris dalam tabel data.
protected override void GetItem(string path)
{
// check if the path represented is a drive
if (PathIsDrive(path))
{
WriteItemObject(this.PSDriveInfo, path, true);
return;
}// if (PathIsDrive...
// Get table name and row information from the path and do
// necessary actions
string tableName;
int rowNumber;
PathType type = GetNamesFromPath(path, out tableName, out rowNumber);
if (type == PathType.Table)
{
DatabaseTableInfo table = GetTable(tableName);
WriteItemObject(table, path, true);
}
else if (type == PathType.Row)
{
DatabaseRowInfo row = GetRow(tableName, rowNumber);
WriteItemObject(row, path, false);
}
else
{
ThrowTerminatingInvalidPathException(path);
}
} // GetItem
Hal-hal yang perlu diingat tentang menerapkan GetItem
Ketentuan berikut mungkin berlaku untuk implementasi System.Management.Automation.Provider.ItemCmdletProvider.GetItem:
Saat menentukan kelas penyedia, penyedia item Windows PowerShell mungkin mendeklarasikan kemampuan
ExpandWildcardspenyedia ,Filter,Include, atauExclude, dari enumerasi System.Management.Automation.Provider.ProviderCapabilities. Dalam kasus ini, implementasi System.Management.Automation.Provider.ItemCmdletProvider.GetItem harus memastikan bahwa jalur yang diteruskan ke metode memenuhi persyaratan tersebut. Untuk melakukan ini, metode harus mengakses properti yang sesuai, misalnya, properti System.Management.Automation.Provider.CmdletProvider.Exclude dan System.Management.Automation.Provider.CmdletProvider.Include .Secara default, penggantian metode ini tidak boleh mengambil objek yang umumnya disembunyikan dari pengguna kecuali properti System.Management.Automation.Provider.CmdletProvider.Force diatur ke
true. Misalnya, metode System.Management.Automation.Provider.ItemCmdletProvider.GetItem untuk penyedia FileSystem memeriksa properti System.Management.Automation.Provider.CmdletProvider.Force sebelum mencoba memanggil System.Management.Automation.Provider.CmdletProvider.WriteItemObject untuk file tersembunyi atau sistem.
Melampirkan parameter dinamis ke cmdlet Get-Item
Terkadang Get-Item cmdlet memerlukan parameter tambahan yang ditentukan secara dinamis pada runtime. Untuk menyediakan parameter dinamis ini, penyedia item Windows PowerShell harus mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters. Metode ini mengambil parameter dinamis untuk item di jalur yang ditunjukkan dan mengembalikan objek yang memiliki properti dan bidang dengan atribut penguraian yang mirip dengan kelas cmdlet atau objek System.Management.Automation.RuntimeDefinedParameterDictionary . Runtime Windows PowerShell menggunakan objek yang dikembalikan untuk menambahkan parameter ke Get-Item cmdlet.
Penyedia ini tidak menerapkan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Mengatur item
Untuk mengatur item, penyedia item Windows PowerShell harus mengganti metode System.Management.Automation.Provider.ItemCmdletProvider.SetItem untuk mendukung panggilan dari Set-Item cmdlet. Metode ini mengatur nilai item pada jalur yang ditentukan.
Penyedia ini tidak menyediakan penggantian untuk metode System.Management.Automation.Provider.ItemCmdletProvider.SetItem . Namun, berikut ini adalah implementasi default dari metode ini.
Hal-hal yang perlu diingat tentang menerapkan SetItem
Kondisi berikut mungkin berlaku untuk implementasi System.Management.Automation.Provider.ItemCmdletProvider.SetItem:
Saat menentukan kelas penyedia, penyedia item Windows PowerShell mungkin mendeklarasikan kemampuan
ExpandWildcardspenyedia ,Filter,Include, atauExclude, dari enumerasi System.Management.Automation.Provider.ProviderCapabilities. Dalam kasus ini, implementasi System.Management.Automation.Provider.ItemCmdletProvider.SetItem harus memastikan bahwa jalur yang diteruskan ke metode memenuhi persyaratan tersebut. Untuk melakukan ini, metode harus mengakses properti yang sesuai, misalnya, properti System.Management.Automation.Provider.CmdletProvider.Exclude dan System.Management.Automation.Provider.CmdletProvider.Include .Secara default, penggantian metode ini tidak boleh mengatur atau menulis objek yang disembunyikan dari pengguna kecuali properti System.Management.Automation.Provider.CmdletProvider.Force diatur ke
true. Kesalahan harus dikirim ke metode System.Management.Automation.Provider.CmdletProvider.WriteError jika jalur mewakili item tersembunyi dan System.Management.Automation.Provider.CmdletProvider.Force diatur kefalse.Implementasi Anda atas metode System.Management.Automation.Provider.ItemCmdletProvider.SetItem harus memanggil System.Management.Automation.Provider.CmdletProvider.ShouldProcess dan memverifikasi nilai yang ditampilkan sebelum membuat perubahan apa pun pada penyimpanan data. Metode ini digunakan untuk mengonfirmasi eksekusi operasi ketika perubahan dilakukan pada penyimpanan data, misalnya, menghapus file. Metode System.Management.Automation.Provider.CmdletProvider.ShouldProcess mengirimkan nama sumber daya yang akan diubah ke pengguna, dengan runtime Windows PowerShell memperhitungkan pengaturan baris perintah atau variabel preferensi dalam menentukan apa yang harus ditampilkan.
Setelah panggilan ke System.Management.Automation.Provider.CmdletProvider.ShouldProcess mengembalikan
true, metode System.Management.Automation.Provider.ItemCmdletProvider.SetItem harus memanggil metode System.Management.Automation.Provider.CmdletProvider.ShouldContinue . Metode ini mengirimkan pesan ke pengguna untuk mengizinkan umpan balik untuk memverifikasi apakah operasi harus dilanjutkan. Panggilan ke System.Management.Automation.Provider.CmdletProvider.ShouldContinue memungkinkan pemeriksaan tambahan untuk modifikasi sistem yang berpotensi berbahaya.
Mengambil parameter dinamis untuk SetItem
Terkadang Set-Item cmdlet memerlukan parameter tambahan yang ditentukan secara dinamis pada runtime. Untuk menyediakan parameter dinamis ini, penyedia item Windows PowerShell harus mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters. Metode ini mengambil parameter dinamis untuk item di jalur yang ditunjukkan dan mengembalikan objek yang memiliki properti dan bidang dengan atribut penguraian yang mirip dengan kelas cmdlet atau objek System.Management.Automation.RuntimeDefinedParameterDictionary . Runtime Windows PowerShell menggunakan objek yang dikembalikan untuk menambahkan parameter ke Set-Item cmdlet.
Penyedia ini tidak menerapkan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Menghapus item
Untuk menghapus item, penyedia item Windows PowerShell mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.ClearItem untuk mendukung panggilan dari Clear-Item cmdlet. Metode ini menghapus item data pada jalur yang ditentukan.
Penyedia ini tidak menerapkan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Hal-hal yang perlu diingat tentang menerapkan ClearItem
Kondisi berikut mungkin berlaku untuk implementasi System.Management.Automation.Provider.ItemCmdletProvider.ClearItem:
Saat menentukan kelas penyedia, penyedia item Windows PowerShell mungkin mendeklarasikan kemampuan
ExpandWildcardspenyedia ,Filter,Include, atauExclude, dari enumerasi System.Management.Automation.Provider.ProviderCapabilities. Dalam kasus ini, implementasi System.Management.Automation.Provider.ItemCmdletProvider.ClearItem harus memastikan bahwa jalur yang diteruskan ke metode memenuhi persyaratan tersebut. Untuk melakukan ini, metode harus mengakses properti yang sesuai, misalnya, properti System.Management.Automation.Provider.CmdletProvider.Exclude dan System.Management.Automation.Provider.CmdletProvider.Include .Secara default, penggantian metode ini tidak boleh mengatur atau menulis objek yang disembunyikan dari pengguna kecuali properti System.Management.Automation.Provider.CmdletProvider.Force diatur ke
true. Kesalahan harus dikirim ke metode System.Management.Automation.Provider.CmdletProvider.WriteError jika jalur mewakili item yang disembunyikan dari pengguna dan System.Management.Automation.Provider.CmdletProvider.Force diatur kefalse.Implementasi Anda atas metode System.Management.Automation.Provider.ItemCmdletProvider.SetItem harus memanggil System.Management.Automation.Provider.CmdletProvider.ShouldProcess dan memverifikasi nilai yang ditampilkan sebelum membuat perubahan apa pun pada penyimpanan data. Metode ini digunakan untuk mengonfirmasi eksekusi operasi ketika perubahan dilakukan pada penyimpanan data, misalnya, menghapus file. Metode System.Management.Automation.Provider.CmdletProvider.ShouldProcess mengirimkan nama sumber daya yang akan diubah ke pengguna, dengan runtime Windows PowerShell dan menangani pengaturan baris perintah atau variabel preferensi dalam menentukan apa yang harus ditampilkan.
Setelah panggilan ke System.Management.Automation.Provider.CmdletProvider.ShouldProcess mengembalikan
true, metode System.Management.Automation.Provider.ItemCmdletProvider.SetItem harus memanggil metode System.Management.Automation.Provider.CmdletProvider.ShouldContinue . Metode ini mengirimkan pesan ke pengguna untuk mengizinkan umpan balik untuk memverifikasi apakah operasi harus dilanjutkan. Panggilan ke System.Management.Automation.Provider.CmdletProvider.ShouldContinue memungkinkan pemeriksaan tambahan untuk modifikasi sistem yang berpotensi berbahaya.
Mengambil parameter dinamis untuk ClearItem
Terkadang Clear-Item cmdlet memerlukan parameter tambahan yang ditentukan secara dinamis pada runtime. Untuk menyediakan parameter dinamis ini, penyedia item Windows PowerShell harus mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters. Metode ini mengambil parameter dinamis untuk item di jalur yang ditunjukkan dan mengembalikan objek yang memiliki properti dan bidang dengan atribut penguraian yang mirip dengan kelas cmdlet atau objek System.Management.Automation.RuntimeDefinedParameterDictionary . Runtime Windows PowerShell menggunakan objek yang dikembalikan untuk menambahkan parameter ke Clear-Item cmdlet.
Penyedia item ini tidak mengimplementasikan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Melakukan tindakan default untuk item
Penyedia item Windows PowerShell dapat mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction untuk mendukung panggilan dari Invoke-Item cmdlet, yang memungkinkan penyedia melakukan tindakan default untuk item pada jalur yang ditentukan. Misalnya, penyedia FileSystem mungkin menggunakan metode ini untuk memanggil ShellExecute untuk item tertentu.
Penyedia ini tidak menerapkan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Hal-hal yang perlu diingat tentang penerapan InvokeDefaultAction
Kondisi berikut mungkin berlaku untuk implementasi System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction:
Saat menentukan kelas penyedia, penyedia item Windows PowerShell mungkin mendeklarasikan kemampuan
ExpandWildcardspenyedia ,Filter,Include, atauExclude, dari enumerasi System.Management.Automation.Provider.ProviderCapabilities. Dalam kasus ini, implementasi System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction harus memastikan bahwa jalur yang diteruskan ke metode memenuhi persyaratan tersebut. Untuk melakukan ini, metode harus mengakses properti yang sesuai, misalnya, properti System.Management.Automation.Provider.CmdletProvider.Exclude dan System.Management.Automation.Provider.CmdletProvider.Include .Secara default, penggantian metode ini tidak boleh mengatur atau menulis objek yang disembunyikan dari pengguna kecuali properti System.Management.Automation.Provider.CmdletProvider.Force diatur ke
true. Kesalahan harus dikirim ke metode System.Management.Automation.Provider.CmdletProvider.WriteError jika jalur mewakili item yang disembunyikan dari pengguna dan System.Management.Automation.Provider.CmdletProvider.Force diatur kefalse.
Mengambil parameter dinamis untuk InvokeDefaultAction
Terkadang Invoke-Item cmdlet memerlukan parameter tambahan yang ditentukan secara dinamis pada runtime. Untuk menyediakan parameter dinamis ini, penyedia item Windows PowerShell harus mengimplementasikan metode System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters. Metode ini mengambil parameter dinamis untuk item di jalur yang ditunjukkan dan mengembalikan objek yang memiliki properti dan bidang dengan atribut penguraian yang mirip dengan kelas cmdlet atau objek System.Management.Automation.RuntimeDefinedParameterDictionary . Runtime Windows PowerShell menggunakan objek yang dikembalikan untuk menambahkan parameter dinamis ke Invoke-Item cmdlet.
Penyedia item ini tidak mengimplementasikan metode ini. Namun, kode berikut adalah implementasi default dari metode ini.
Menerapkan metode dan kelas pembantu
Penyedia item ini mengimplementasikan beberapa metode dan kelas pembantu yang digunakan oleh metode penggantian publik yang ditentukan oleh Windows PowerShell. Kode untuk metode dan kelas pembantu ini ditampilkan di bagian Sampel Kode .
Metode NormalizePath
Penyedia item ini mengimplementasikan metode pembantu NormalizePath untuk memastikan bahwa jalur memiliki format yang konsisten. Format yang ditentukan menggunakan garis miring terbalik (\) sebagai pemisah.
Metode PathIsDrive
Penyedia item ini mengimplementasikan metode pembantu PathIsDrive untuk menentukan apakah jalur yang ditentukan sebenarnya adalah nama drive.
Metode ChunkPath
Penyedia item ini mengimplementasikan metode pembantu ChunkPath yang memecah jalur yang ditentukan sehingga penyedia dapat mengidentifikasi elemen individualnya. Ini mengembalikan array yang terdiri dari elemen jalur.
Metode GetTable
Penyedia item ini mengimplementasikan metode pembantu GetTables yang mengembalikan objek DatabaseTableInfo yang mewakili informasi tentang tabel yang ditentukan dalam panggilan.
Metode GetRow
Metode System.Management.Automation.Provider.ItemCmdletProvider.GetItem dari penyedia item ini memanggil metode pembantu GetRows. Metode pembantu ini mengambil objek DatabaseRowInfo yang mewakili informasi tentang baris yang ditentukan dalam tabel.
DatabaseTableInfo
Penyedia item ini mendefinisikan kelas DatabaseTableInfo yang mewakili kumpulan informasi dalam tabel data dalam database. Kelas ini mirip dengan kelas System.IO.Directoryinfo.
Penyedia item sampel menentukan metode DatabaseTableInfo.GetTables yang mengembalikan kumpulan objek informasi tabel yang menentukan tabel dalam database. Metode ini menyertakan blok try/catch untuk memastikan bahwa setiap kesalahan database muncul sebagai baris dengan nol entri.
DatabaseRowInfo
Penyedia item ini mendefinisikan kelas pembantu DatabaseRowInfo yang mewakili baris dalam tabel database. Kelas ini mirip dengan kelas System.IO.FileInfo .
Penyedia sampel mendefinisikan metode DatabaseRowInfo.GetRows untuk mengembalikan kumpulan objek informasi baris untuk tabel yang ditentukan. Metode ini mencakup blok try/catch untuk menjebak pengecualian. Kesalahan apa pun tidak akan menghasilkan informasi baris.
Sampel kode
Untuk kode sampel lengkap, lihat Sampel Kode AccessDbProviderSample03.
Mendefinisikan jenis objek dan pemformatan
Saat menulis penyedia, mungkin perlu menambahkan anggota ke objek yang ada atau menentukan objek baru. Setelah selesai, buat file Jenis yang dapat digunakan Windows PowerShell untuk mengidentifikasi anggota objek dan file Format yang menentukan bagaimana objek ditampilkan. Untuk informasi selengkapnya, lihat Memperluas Jenis dan Pemformatan Objek.
Membangun penyedia Windows PowerShell
Lihat Cara mendaftarkan cmdlet, penyedia, dan aplikasi host.
Menguji penyedia Windows PowerShell
Ketika penyedia item Windows PowerShell ini terdaftar dengan Windows PowerShell, Anda hanya dapat menguji fungsionalitas dasar dan drive penyedia. Untuk menguji manipulasi item, Anda juga harus mengimplementasikan fungsionalitas kontainer yang dijelaskan dalam Menerapkan Penyedia PowerShell Windows Kontainer.
Lihat juga
- Windows PowerShell SDK
- Panduan Pemrogram Windows PowerShell
- Membuat Penyedia Windows PowerShell
- Merancang penyedia Windows PowerShell Anda
- Memperluas Jenis Objek dan Pemformatan
- Cara Kerja Windows PowerShell
- Membuat penyedia PowerShell Windows Kontainer
- Membuat penyedia Windows PowerShell Drive
- Cara Mendaftarkan Cmdlet, Penyedia, dan Aplikasi Host