Tìm kiếm trang web

Tổng quan về nhà cung cấp Windows PowerShell


Nhà cung cấp Windows PowerShell cho phép mọi kho lưu trữ dữ liệu được hiển thị giống như một hệ thống tệp như thể nó là một ổ đĩa được gắn. Ví dụ: nhà cung cấp Sổ đăng ký tích hợp sẵn cho phép bạn điều hướng sổ đăng ký giống như bạn điều hướng ổ đĩa c trên máy tính của mình. Nhà cung cấp cũng có thể ghi đè các lệnh ghép ngắn Item (ví dụ: Get-Item, Set-Item, v.v.) sao cho dữ liệu trong kho dữ liệu có thể được xử lý giống như các tệp và thư mục được xử lý khi điều hướng một hệ thống tệp. Để biết thêm thông tin về nhà cung cấp và ổ đĩa cũng như nhà cung cấp tích hợp trong Windows PowerShell, hãy xem about_Providers.

Nhà cung cấp và ổ đĩa

Nhà cung cấp xác định logic được sử dụng để truy cập, điều hướng và chỉnh sửa kho dữ liệu, trong khi ổ đĩa chỉ định điểm truy cập cụ thể vào kho dữ liệu (hoặc một phần của kho dữ liệu) thuộc loại do nhà cung cấp xác định. Ví dụ: nhà cung cấp Sổ đăng ký cho phép bạn truy cập các tổ ong và khóa trong sổ đăng ký, đồng thời các ổ HKLM và HKCU chỉ định các tổ ong tương ứng trong sổ đăng ký. Các ổ HKLM và HKCU đều sử dụng nhà cung cấp Sổ đăng ký.

Khi viết một nhà cung cấp, bạn có thể chỉ định các ổ đĩa mặc định được tạo tự động khi có nhà cung cấp. Bạn cũng xác định phương pháp tạo ổ đĩa mới sử dụng nhà cung cấp đó.

Loại nhà cung cấp

Có một số loại nhà cung cấp, mỗi loại cung cấp một mức độ chức năng khác nhau. Một nhà cung cấp được triển khai dưới dạng một lớp bắt nguồn từ một trong các lớp con của lớp System.management.Automation.SessionStateCategory CmdletProvider. Để biết thông tin về các loại nhà cung cấp khác nhau, hãy xem Các loại nhà cung cấp.

Lệnh ghép ngắn của nhà cung cấp

Nhà cung cấp có thể triển khai các phương thức tương ứng với lệnh ghép ngắn, tạo hành vi tùy chỉnh cho các lệnh ghép ngắn đó khi được sử dụng trong ổ đĩa của nhà cung cấp đó. Tùy thuộc vào loại nhà cung cấp, có sẵn các bộ lệnh ghép ngắn khác nhau. Để biết danh sách đầy đủ các lệnh ghép ngắn có sẵn để tùy chỉnh trong các nhà cung cấp, hãy xem Lệnh ghép ngắn của nhà cung cấp.

Đường dẫn nhà cung cấp

Người dùng điều hướng các ổ đĩa của nhà cung cấp như hệ thống tệp. Vì điều này, họ mong đợi cú pháp của các đường dẫn tương ứng với các đường dẫn được sử dụng trong điều hướng hệ thống tệp. Khi người dùng chạy lệnh ghép ngắn của nhà cung cấp, họ sẽ chỉ định đường dẫn đến mục cần truy cập. Đường dẫn được chỉ định có thể được diễn giải theo nhiều cách. Nhà cung cấp phải hỗ trợ một hoặc nhiều loại đường dẫn sau.

Đường dẫn đủ điều kiện lái xe

Đường dẫn đủ điều kiện ổ đĩa là sự kết hợp giữa tên mục, vùng chứa và các vùng chứa phụ chứa mục đó và ổ đĩa Windows PowerShell mà mục đó được truy cập qua đó. (Ổ đĩa được xác định bởi nhà cung cấp được sử dụng để truy cập vào kho dữ liệu. Đường dẫn này bắt đầu bằng tên ổ đĩa, theo sau là dấu hai chấm (:). Ví dụ: get-childitem C:

Đường dẫn đủ điều kiện của nhà cung cấp

Để cho phép công cụ Windows PowerShell khởi tạo và hủy khởi tạo nhà cung cấp của bạn, nhà cung cấp phải hỗ trợ đường dẫn đủ điều kiện của nhà cung cấp. Ví dụ: người dùng có thể khởi tạo và hủy khởi tạo nhà cung cấp FileSystem vì nó xác định đường dẫn đủ điều kiện của nhà cung cấp sau: FileSystem::\\uncshare\abc\bar.

Đường dẫn trực tiếp của nhà cung cấp

Để cho phép truy cập từ xa vào nhà cung cấp Windows PowerShell của bạn, nó phải hỗ trợ đường dẫn trực tiếp của nhà cung cấp để chuyển trực tiếp đến nhà cung cấp Windows PowerShell cho vị trí hiện tại. Ví dụ: nhà cung cấp Windows PowerShell đăng ký có thể sử dụng \\server\regkeypath làm đường dẫn trực tiếp của nhà cung cấp.

Đường dẫn nội bộ của nhà cung cấp

Để cho phép lệnh ghép ngắn của nhà cung cấp truy cập dữ liệu bằng các giao diện lập trình ứng dụng (API không phải Windows PowerShell), nhà cung cấp Windows PowerShell của bạn phải hỗ trợ đường dẫn nội bộ của nhà cung cấp. Đường dẫn này được chỉ định sau dấu "::" trong đường dẫn đủ điều kiện của nhà cung cấp. Ví dụ: đường dẫn nội bộ của nhà cung cấp cho nhà cung cấp Windows PowerShell của hệ thống tệp là \\uncshare\abc\bar.

Ghi đè tham số lệnh ghép ngắn

Hành vi của một số lệnh ghép ngắn dành riêng cho nhà cung cấp có thể bị nhà cung cấp ghi đè. Để biết danh sách các tham số có thể được ghi đè và cách ghi đè chúng trong lớp nhà cung cấp của bạn, hãy xem Tham số lệnh ghép ngắn của nhà cung cấp

Thông số động

Nhà cung cấp có thể xác định các tham số động được thêm vào lệnh ghép ngắn của nhà cung cấp khi người dùng chỉ định một giá trị nhất định cho một trong các tham số tĩnh của lệnh ghép ngắn. Nhà cung cấp thực hiện điều này bằng cách triển khai một hoặc nhiều phương thức tham số động. Để biết danh sách các tham số lệnh ghép ngắn có thể được sử dụng để thêm tham số động và các phương thức được sử dụng để triển khai chúng, hãy xem Tham số động của lệnh ghép ngắn của Nhà cung cấp.

Khả năng của nhà cung cấp

Bảng liệt kê System.management.Automation.Provider.Providercapabilities xác định một số khả năng mà nhà cung cấp có thể hỗ trợ. Chúng bao gồm khả năng sử dụng ký tự đại diện, các mục lọc và hỗ trợ giao dịch. Để chỉ định các khả năng cho nhà cung cấp, hãy thêm danh sách các giá trị của bảng liệt kê System.management.Automation.Provider.Providercapabilities, kết hợp với thao tác logic HOẶC, dưới dạng System.Manager.Automation.Provider.Cmdletprovideraattribute Thuộc tính .Providercapabilities* (tham số thứ hai của thuộc tính) của thuộc tính System.Manager.Automation.Provider.Cmdletproviderattribute cho lớp nhà cung cấp của bạn. Ví dụ: thuộc tính sau đây chỉ định rằng nhà cung cấp hỗ trợ các khả năng System.Manager.Automation.Provider.Providercapabilities ShouldProcess và System.Manager.Automation.Provider.ProviderCapabilities Transactions.

[CmdletProvider(RegistryProvider.ProviderName, ProviderCapabilities.ShouldProcess | ProviderCapabilities.Transactions)]

Trợ giúp về lệnh ghép ngắn của nhà cung cấp

Khi viết một nhà cung cấp, bạn có thể triển khai Trợ giúp của riêng mình cho các lệnh ghép ngắn của nhà cung cấp mà bạn hỗ trợ. Điều này bao gồm một chủ đề trợ giúp duy nhất cho mỗi lệnh ghép ngắn của nhà cung cấp hoặc nhiều phiên bản của một chủ đề trợ giúp trong trường hợp lệnh ghép ngắn của nhà cung cấp hoạt động khác nhau dựa trên việc sử dụng các tham số động. Để hỗ trợ trợ giúp dành riêng cho lệnh ghép ngắn của nhà cung cấp, nhà cung cấp của bạn phải triển khai giao diện trợ giúp System.management.Automation.Provider.Icmdletprovidersupportshelp.

Công cụ Windows PowerShell gọi phương thức System.management.Automation.Provider.Icmdletprovidersupportshelp.Gethelpmaml* để hiển thị chủ đề Trợ giúp cho các lệnh ghép ngắn của nhà cung cấp của bạn. Công cụ này cung cấp tên của lệnh ghép ngắn mà người dùng đã chỉ định khi chạy lệnh ghép ngắn Get-Help và đường dẫn hiện tại của người dùng. Đường dẫn hiện tại là bắt buộc nếu nhà cung cấp của bạn triển khai các phiên bản khác nhau của cùng một lệnh ghép ngắn của nhà cung cấp cho các ổ đĩa khác nhau. Phương thức này phải trả về một chuỗi chứa XML cho Trợ giúp lệnh ghép ngắn.

Nội dung của tệp Trợ giúp được viết bằng PSMAML XML. Đây chính là lược đồ XML được sử dụng để viết nội dung Trợ giúp cho các lệnh ghép ngắn độc lập. Thêm nội dung cho Trợ giúp lệnh ghép ngắn tùy chỉnh của bạn vào tệp Trợ giúp dành cho nhà cung cấp của bạn trong phần tử CmdletHelpPaths. Ví dụ sau đây hiển thị phần tử command cho một lệnh ghép ngắn của nhà cung cấp và cho thấy cách bạn chỉ định tên của lệnh ghép ngắn của nhà cung cấp mà nhà cung cấp của bạn. hỗ trợ

<CmdletHelpPaths>
  <command:command>
    <command:details>
      <command:name>ProviderCmdletName</command:name>
      <command:verb>Verb</command:verb>
      <command:noun>Noun</command:noun>
    <command:details>
  </command:command>
<CmdletHelpPath>

Xem thêm

Chức năng của nhà cung cấp Windows PowerShell

Lệnh ghép ngắn của nhà cung cấp

Viết Nhà cung cấp Windows PowerShell

Bài viết liên quan