Geek School: Tìm hiểu cách mở rộng PowerShell

Mục lục:

Geek School: Tìm hiểu cách mở rộng PowerShell
Geek School: Tìm hiểu cách mở rộng PowerShell

Video: Geek School: Tìm hiểu cách mở rộng PowerShell

Video: Geek School: Tìm hiểu cách mở rộng PowerShell
Video: Phong Max - Hoa Cỏ Lau (Official Music Video) - YouTube 2024, Có thể
Anonim
PowerShell cung cấp hai cách để bạn mở rộng trình bao. Bạn có thể sử dụng snapins, mà là nhị phân chỉ và phát triển trong một ngôn ngữ lập trình chính thức như C #, hoặc bạn có thể sử dụng các mô-đun, có thể được nhị phân cũng như dựa trên kịch bản.
PowerShell cung cấp hai cách để bạn mở rộng trình bao. Bạn có thể sử dụng snapins, mà là nhị phân chỉ và phát triển trong một ngôn ngữ lập trình chính thức như C #, hoặc bạn có thể sử dụng các mô-đun, có thể được nhị phân cũng như dựa trên kịch bản.

Hãy nhớ đọc các bài viết trước trong loạt bài này:

  • Tìm hiểu cách tự động hóa Windows bằng PowerShell
  • Học cách sử dụng Cmdlets trong PowerShell
  • Học cách sử dụng các đối tượng trong PowerShell
  • Học cách định dạng, lọc và so sánh trong PowerShell
  • Tìm hiểu cách sử dụng Remoting trong PowerShell
  • Sử dụng PowerShell để lấy thông tin máy tính
  • Làm việc với các bộ sưu tập trong PowerShell

Và hãy theo dõi phần còn lại của loạt phim trong tuần.

Snapins

Snapins là như vậy năm ngoái. Tất cả các câu chuyện cười sang một bên, snapins không bao giờ thực sự bắt gặp trong cộng đồng PowerShell bởi vì hầu hết các nhà script không phải là nhà phát triển và bạn chỉ có thể viết các snapins bằng một ngôn ngữ như C #. Tuy nhiên vẫn có một số sản phẩm sử dụng snapins, ví dụ như Web Deploy. Để xem những gì snapins có sẵn cho bạn sử dụng trong shell bạn sử dụng lệnh sau:

Get-PSSnapin –Registered

Để sử dụng các lệnh được thêm bởi một snapin, trước tiên bạn cần phải nhập nó vào phiên của bạn, và bạn có thể làm điều đó như sau:
Để sử dụng các lệnh được thêm bởi một snapin, trước tiên bạn cần phải nhập nó vào phiên của bạn, và bạn có thể làm điều đó như sau:

Add-PSSnapin -Name WDeploySnapin3.0

Tại thời điểm này, bạn sẽ gặp lỗi nếu bạn chưa cài đặt snapin Web Deploy. Nếu bạn đã cài đặt nó, như tôi làm, thì nó sẽ được nhập vào phiên của bạn. Để có được một danh sách các lệnh có sẵn trong snapin, bạn có thể chỉ cần sử dụng lệnh Get-Command:

Get-Command –Module WDeploy*

Lưu ý: Về mặt kỹ thuật, đây không phải là một mô-đun, nhưng vì một lý do nào đó bạn vẫn phải sử dụng tham số Mô-đun.

Image
Image

Mô-đun

Mô-đun mới hơn và là con đường phía trước. Chúng có thể được viết kịch bản bằng PowerShell cũng như được mã hóa bằng một ngôn ngữ như C #. Hầu hết các lệnh dựng sẵn cũng được tổ chức thành các mô-đun. Để xem danh sách các mô-đun trên hệ thống của bạn, bạn có thể sử dụng lệnh sau:

Get-Module –ListAvailable

Khi các sản phẩm được cập nhật, các đối tác PowerShell của chúng đang được di chuyển sang các mô-đun. Ví dụ, SQL sử dụng để có một snapin, nhưng bây giờ nó được tạo thành từ các mô-đun.
Khi các sản phẩm được cập nhật, các đối tác PowerShell của chúng đang được di chuyển sang các mô-đun. Ví dụ, SQL sử dụng để có một snapin, nhưng bây giờ nó được tạo thành từ các mô-đun.
Để sử dụng mô-đun, trước tiên bạn cần phải nhập mô-đun.
Để sử dụng mô-đun, trước tiên bạn cần phải nhập mô-đun.

Import-Module -Name SQLASCMDLETS

Bạn có thể sử dụng cùng một mẹo mà chúng tôi đã sử dụng với các snapins để xem tất cả các lệnh mà module được thêm vào shell.

Vì vậy, để lại câu hỏi: PowerShell biết những gì snapins và mô-đun bạn có trên hệ thống của bạn? Vâng, snapins là một chút đau và phải được cài đặt. Một phần của quá trình cài đặt bao gồm việc tạo một vài mục đăng ký mà PowerShell xem xét để tìm thông tin về snapin. Các module, mặt khác, có thể được đăng ký với shell bằng cách đặt chúng vào một trong các vị trí trong biến môi trường PSModulePath. Ngoài ra, bạn chỉ có thể thêm đường dẫn đến mô-đun vào biến môi trường.
Vì vậy, để lại câu hỏi: PowerShell biết những gì snapins và mô-đun bạn có trên hệ thống của bạn? Vâng, snapins là một chút đau và phải được cài đặt. Một phần của quá trình cài đặt bao gồm việc tạo một vài mục đăng ký mà PowerShell xem xét để tìm thông tin về snapin. Các module, mặt khác, có thể được đăng ký với shell bằng cách đặt chúng vào một trong các vị trí trong biến môi trường PSModulePath. Ngoài ra, bạn chỉ có thể thêm đường dẫn đến mô-đun vào biến môi trường.

($env:PSModulePath).Split(“;”)

Điều đó sẽ nhổ ra các nội dung của biến. Lưu ý rằng nếu bạn có một mô-đun giống như SQL được cài đặt, nó đã sửa đổi biến bao gồm vị trí của mô-đun SQL.

Image
Image

Module Auto Loading

PowerShell 3 đã giới thiệu một tính năng mới tuyệt vời với một vài tên. Không ai trong số họ là chính thức, nhưng "Module Auto Loading" là mô tả tốt nhất của nó. Về cơ bản, nó cho phép bạn sử dụng các lệnh ghép ngắn thuộc về một mô đun bên ngoài mà không cần nhập khẩu một cách rõ ràng mô-đun bằng cách sử dụng lệnh ghép ngắn Import-Module. Để xem điều này, trước tiên hãy xóa tất cả các mô-đun khỏi trình bao của bạn bằng cách sử dụng lệnh sau:

Get-Module | Remove-Module

Sau đó bạn có thể kiểm tra xem bạn không có mô-đun nào được tải bằng cách sử dụng như sau:

Get-Module

Bây giờ, hãy sử dụng lệnh ghép ngắn không có trong thư viện lõi. Kiểm tra kết nối là một điều tốt:
Bây giờ, hãy sử dụng lệnh ghép ngắn không có trong thư viện lõi. Kiểm tra kết nối là một điều tốt:

Test-Connection localhost

Đề xuất: