Trang chủ Thủ thuật

Các câu lệnh Powershell đơn giản cho mọi hệ điều hành Windows

Microsoft PowerShell là một nền tảng tuyệt vời cho script. PowerShell không chỉ giúp giảm thời gian thực hiện các tác vụ tương tự thông qua GUI mà còn cải thiện tổng thể CAPEX và OPEX trong doanh nghiệp. Trong bài viết này, chúng ta sẽ điểm qua một số ví dụ về việc sử dụng các lệnh PowerShell cho các hệ điều hành Windows.

>> Tìm hiểu thê: Windows powershell là gì? Hướng dẫn tạo script Windows PowerShell cho người mới bắt đầu

Dịch vụ truy vấn trên máy tính Windows

Trước đây, khi cần truy vấn trạng thái dịch vụ trên các hệ điều hành Windows, bạn có thể đã từng sử dụng công cụ dòng lệnh SC.exe. Công cụ dòng lệnh SC.exe vẫn đang được nhiều quản trị viên sử dụng vì công cụ này không yêu cầu phải cài đặt PowerShell trên máy tính local. Tuy nhiên, các phiên bản mới của hệ điều hành Windows đã tích hợp thêm PowerShell. Vì vậy, nếu bạn cần trả về danh sách các dịch vụ đang chạy trên máy tính cục bộ, bạn có thể sử dụng lệnh PowerShell sau:

Get-Service | Where-Object {$_.Status –eq "Running"}

Lệnh trên chỉ trả về các dịch vụ đang chạy trên máy tính local. Nếu bạn cần xem danh sách các dịch vụ bắt đầu với một dãy ký tự cụ thể, ví dụ như WMI, chạy lệnh sau:

Get-Service –DisplayName "*WMI*"

Nếu các lệnh PowerShell ở trên chỉ chạy được cho máy tính local, lệnh PowerShell bên dưới có thể được sử dụng để truy xuất danh sách các dịch vụ trên máy tính từ xa:

Get-WMIObject Win32_Service –Computer WinServer1

Trong lệnh trên, chúng ta sử dụng Get-WMIObject PowerShell cmdlet và gọi W32 Win32_Service để lấy các dịch vụ từ máy tính windows WinServer1. Lưu ý rằng Get-Service PowerShell không hỗ trợ chỉ định tham số "-Computer", và chỉ có thể áp dụng được đối với máy tính cục bộ.

Kiểm tra log sự kiện bằng PowerShell

Một vấn đề cũng khiến nhiều người quan tâm là Microsoft Event Viewer mất rất nhiều thời gian để tìm kiếm các sự kiện theo yêu cầu với nhật ký sự kiện. Ví dụ: nếu bạn cần tìm kiếm sự kiện thông qua một ID cụ thể, bạn sẽ cần phải cuộn và tìm trên tệp nhật ký sự kiện hoàn chỉnh cho đến khi tìm thấy ID cụ thể đó. PowerShell trong khi đó giúp giải quyết vấn đề này. Bạn có thể chỉ định một ID sự kiện cụ thể trong lệnh PowerShell và nhanh chóng thu được kết quả. Ví dụ: lệnh PowerShell bên dưới giúp kiểm tra ID sự kiện 7036 có được ghi vào Nhật ký sự kiện hệ thống hay không.

Get-EventLog "System" | Where-Object {$_.EventID –eq 7036}

Nếu bạn cần xem các sự kiện mới nhất được cập nhật trong ứng dụng nhật ký sự kiện, hãy thực hiện lệnh PowerShell bên dưới:

Get-EventLog Application –Newest 10

Lệnh trên (có trong ảnh chụp màn hình bên dưới) hiển thị 10 mục mới nhất được ghi lại trong log sự kiện.

Các câu lệnh Powershell đơn giản cho mọi hệ điều hành Windows - Ảnh 6.

Tìm kiếm thông qua các tập tin văn bản

Trong trường hợp cần xác định xem có một chuỗi giá trị cụ thể nào tồn tại trong một tệp văn bản nhất định hay không, bạn có thể sử dụng PowerShell cmdlet "Select-String". Để tìm kiếm "Errors" trong một tệp nhật ký, hãy chạy lệnh PowerShell sau:

Get-Content C:\Temp\MVMC.Log | Select-String "Errors" –Quiet

Để tìm kiếm giữa chữ hoa chữ thường, bạn có thể chạy lệnh:

Get-Content C:\Temp\MVMC.Log | Select-String "ERRORS" –Quiet –Casesensitive

Kiểm tra trạng thái của network adapters

Sử dụng PowerShell, bạn có thể nhanh chóng kiểm tra trạng thái của network adapters trên máy tính local. PowerShell hỗ trợ lệnh Get-NetAdapter PowerShell cmdlet giúp liệt kê tất cả các network adapters ảo và vật lý, sau đó hiển thị trạng thái của từng network adapters theo lệnh bên dưới:

Get-NetAdapter | Where Status –eq "Up"

Lệnh trên sẽ hiển thị tất cả các network adapters bao gồm các các thiết bị ảo như thiết bị không dây. Trong trường hợp bạn muốn giảm két quả xuống chỉ còn các thiết bị vật lý, thực hiện lệnh sau:

Get-NetAdapter –Physical | Where Status –eq "Up"

Các lệnh môi trường PowerShell phổ biến

PowerShell lưu trữ thông tin hệ điều hành trong "environment drive." Bạn có thể truy cập thông tin được lưu trữ trong ổ đĩa "[System.Environment]::"] ::] trong cửa sổ PowerShell. Ví dụ, trong trường hợp bạn cần xem phiên bản hệ điều hành hiện tại, bạn chạy lệnh này:

[System.Environment]::Version

Khi thực hiện lệnh trên, kết quả sẽ được hiển thị trong cửa sổ PowerShell đang chạy. Bạn có thể kiểm tra thư mục hiện tại, và xác định phiên bản hệ điều hành hiện tại có phải là 64 bit hay không, ngoài ra còn có thể xem được tên người dùng hiện tại và nhiều thông tin khác như trong ảnh chụp màn hình bên dưới:

Các câu lệnh Powershell đơn giản cho mọi hệ điều hành Windows - Ảnh 12.

Có rất nhiều lệnh PowerShell cmdlets được hỗ trợ sẵn cho các hệ điều hành Windows. Khoảng 90% hoạt động của hệ điều hành Windows có thể được quản lý bằng PowerShell. Tất cả những gì bạn cần làm là tìm kiếm lệnh PowerShell phù hợp để sử dụng.

Theo Techgenix.com 

>> Có thể bạn quan tâm: 5 ứng dụng Windows 10 phải có của một IT chuyên nghiệp

Kể từ ngày 05/11/2018, VCCloud chính thức đổi tên thành BizFly Cloud - là nhà cung cấp các dịch vụ đám mây hàng đầu tại Việt Nam hiện nay với các dịch vụ nổi bật như: BizFly Cloud Server, BizFly CDN, BizFly Load Balancer, BizFly Pre-built Application, BizFly Business Mail, BizFly Simple Storage. Hãy tăng tốc thích nghi cho doanh nghiệp cùng các giải pháp công nghệ của BizFly Cloud tại đây.