Geek School: Sử dụng PowerShell để lấy thông tin máy tính

Mục lục:

Geek School: Sử dụng PowerShell để lấy thông tin máy tính
Geek School: Sử dụng PowerShell để lấy thông tin máy tính

Video: Geek School: Sử dụng PowerShell để lấy thông tin máy tính

Video: Geek School: Sử dụng PowerShell để lấy thông tin máy tính
Video: Khắc phục lỗi Xác minh ID Apple, ID Apple Đã Bị Khóa trên iPhone iPad - YouTube 2024, Tháng tư
Anonim
WMI và người anh em mới hơn của CIM có thể được sử dụng để quản lý các máy Windows trong môi trường của bạn. Nhưng bạn có biết sự khác biệt giữa chúng? Tham gia với chúng tôi khi chúng tôi có một cái nhìn.
WMI và người anh em mới hơn của CIM có thể được sử dụng để quản lý các máy Windows trong môi trường của bạn. Nhưng bạn có biết sự khác biệt giữa chúng? Tham gia với chúng tôi khi chúng tôi có một cái nhì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

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

Giới thiệu

WMI là viết tắt của Windows Management Instrumentation. Từ "Instrumentation" đề cập đến thực tế là WMI cho phép bạn lấy thông tin về trạng thái bên trong của máy tính, giống như các công cụ bảng điều khiển trong ô tô của bạn có thể truy xuất và hiển thị thông tin về trạng thái của các thành phần bên trong xe.

WMI bao gồm một kho chứa các lớp đại diện cho các thành phần có thể được quản lý bên trong máy của bạn. Bởi vì chúng tôi có nghĩa là chỉ vì WMI có một lớp Win32_Battery không có nghĩa là máy của bạn có chứa pin. Các lớp này sau đó có thể được truy vấn thông tin cục bộ hoặc thậm chí trên một mạng bằng cách sử dụng một ngôn ngữ truy vấn rất giống với SQL được gọi là WQL. Tuy nhiên, WMI đã được biết đến là rất không đáng tin cậy, chủ yếu là do thực tế là nó dựa trên RPC (Remote Procedure Calls), làm một số điều điên rồ với các cổng mà họ chọn để giao tiếp.

Bắt đầu với Windows 8 và Server 2012, WMI hiện đang được loại bỏ theo xu hướng của Mô hình thông tin chung hoặc CIM. Sự khác biệt duy nhất giữa WMI và CIM là các giao thức truyền tải mà chúng sử dụng. Trong khi WMI thực hiện các truy vấn bằng cách sử dụng các cuộc gọi thủ tục từ xa, CIM sử dụng HTTP, điều này dường như tạo ra một sự khác biệt rất lớn. Trên backend họ vẫn đang nói chuyện với cùng một kho thông tin.

Sử dụng WMI

Cách nhanh nhất và dễ dàng nhất để khám phá thông tin có sẵn cho bạn thông qua WMI là lấy một bản sao của bất kỳ Trình duyệt đối tượng WMI miễn phí nào. Chúng tôi thích cái này Sau khi tải xuống, hãy kích hoạt nó và bạn sẽ có một giao diện đồ họa để duyệt qua các Lớp WMI.

Nếu bạn muốn tìm hiểu điều gì đó về cấu hình đĩa của máy tính, hãy nhấn tổ hợp phím Ctrl + F để hiển thị hộp tìm kiếm, sau đó nhập “logicaldisk” và nhấn enter.
Nếu bạn muốn tìm hiểu điều gì đó về cấu hình đĩa của máy tính, hãy nhấn tổ hợp phím Ctrl + F để hiển thị hộp tìm kiếm, sau đó nhập “logicaldisk” và nhấn enter.
Ở nửa dưới của ứng dụng, bạn có thể thấy chúng tôi có hai trường hợp của lớp.
Ở nửa dưới của ứng dụng, bạn có thể thấy chúng tôi có hai trường hợp của lớp.
Một khi chúng ta có lớp chúng ta đang tìm kiếm, việc truy vấn nó từ PowerShell là thẳng về phía trước.
Một khi chúng ta có lớp chúng ta đang tìm kiếm, việc truy vấn nó từ PowerShell là thẳng về phía trước.

Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

Tôi đã không nhìn thấy cú pháp đó trong một thời gian với những người ngày nay thích sử dụng cú pháp tham số mới.
Tôi đã không nhìn thấy cú pháp đó trong một thời gian với những người ngày nay thích sử dụng cú pháp tham số mới.

Get-WmiObject –Class Win32_LogicalDisk

Nếu bạn muốn nhận thông tin từ một máy tính khác trên mạng của mình, bạn có thể chỉ cần sử dụng tham số ComputerName.
Nếu bạn muốn nhận thông tin từ một máy tính khác trên mạng của mình, bạn có thể chỉ cần sử dụng tham số ComputerName.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator

Image
Image

Sử dụng CIM

Hãy nhớ rằng CIM chỉ có sẵn trên Windows 8 và Server 2012, di chuyển về phía trước đây chắc chắn là con đường để đi.

Get-CimInstance –ClassName Win32_LogicalDisk

Ngoài ra còn có hoàn thành tab cho tham số –ClassName khi sử dụng Get-CimInstance, cho thấy rằng tiếp theo đây là nơi nỗ lực của Microsoft sẽ được tập trung.
Ngoài ra còn có hoàn thành tab cho tham số –ClassName khi sử dụng Get-CimInstance, cho thấy rằng tiếp theo đây là nơi nỗ lực của Microsoft sẽ được tập trung.

Trong thực tế, WMI được phát triển bởi một nhóm hoàn toàn riêng biệt trong Microsoft, nhưng sau đó đã được tiếp quản bởi những người phụ trách PowerShell. Họ là những người nhận thấy rằng sẽ rất khó khăn để dọn sạch WMI hỗn độn để lại phía sau. Trong một nỗ lực để khắc phục tình trạng này, họ đang cố gắng làm cho WMI và CIM sẵn sàng hơn bằng cách viết các lệnh ghép ngắn có sử dụng WMI và CIM bên dưới mui xe. Cách duy nhất để kiểm tra xem cmdlet có phải là trình bao bọc hay không bằng cách xem tài liệu. Ví dụ, lệnh Get-Hotfix là một trình bao bọc cho lớp Win32_QuickFixEngineering, như đã thấy trong tài liệu.

Điều đó có nghĩa là bạn có thể nhận được các hotfix trên các máy từ xa bằng cách sử dụng lệnh ghép ngắn Get-HotFix thay vì truy vấn WMI.
Điều đó có nghĩa là bạn có thể nhận được các hotfix trên các máy từ xa bằng cách sử dụng lệnh ghép ngắn Get-HotFix thay vì truy vấn WMI.

Get-HotFix –ComputerName localhost

Đề xuất: