PowerShell là một công cụ khá mạnh, nó giúp người dùng dễ dàng
thực hiện thay đổi cấu hình. Nhưng lưu ý sau khi hoàn thành cấu hình
bạn nên sử dụng biến số -confirm để kiểm tra những cài đặt này.
1. Thông báo mọi thiết bị USB được cài đặt
PowerShell là một công cụ điều khiển Windows Management Instruments (WMI). Bạn có thể sử dụng PowerShell để yêu cầu WMI truy tìm các thiết bị kết nối USB được cài đặt vào một hệ thống cục bộ hay từ xa, sử dụng lệnh sau:
Lệnh này sẽ sử dụng một bộ lọc để hiển thị trường
Antecedent (thiết bị gốc) và Dependent (thiết bị phụ thuộc) từ máy tính
có tên SERVER1. Nếu muốn kết xuất đầy đủ thông tin bạn nên bỏ qua mục Filter và Pipe
để xuất ra đầy đủ thông tin về thiết bị kết nối USB vào hệ thống. Nếu
có một thiết bị nào đó được cài đặt cùng với giấy phép bạn nên thông
báo lên máy chủ để máy chủ có thể duy trì kết nối với thiết bị này.
2. Thực hiện những tác vụ của CMD
Nhờ có cả giao diện lệnh nên PowerShell có thể giúp bạn thực hiện mọi
tác vụ mà trước đây bạn thường thực hiện trên DOS. Đây là lí do vì sao
PowerShell rất dễ sử dụng.
3. Sử dụng PowerShell để tắt tiến trình
Khi một dịch vụ Windows đang vận hành thì câu lệnh stop sẽ không có tác dụng với nó, và thông thường chúng ta luôn sử dụng Task Manager để tắt dịch vụ. Tuy nhiên bạn cũng có thể sử dụng PowerShell để tắt một dịch vụ đang chạy. Ví dụ, để tắt BadThread.exe bạn thực hiện như sau:
Khi ID của tiến trình đã được xác định bạn có thể kết thúc tiến trình này bằng lệnh:
stop-process -id 2792
Khi đó, BadThread.exe sẽ bị chặn. Sau đó bạn cũng có thể sử dụng PowerShell để khởi động lại dịch vụ.
4. Sử dụng lệnh PSDrive để kiểm tra thông tin hệ thống
Lệnh PSDrive cho phép người dùng xem nhiều đối
tượng trong môi trường Windows trên mạng truyền thống, trên hệ thống
hay trên ổ đĩa di động. Một lệnh thường được sử dụng là HKLM PSDrive để xem nhóm Registry cấp cao nhất của HKEY_LOCAL_MACHINE. Để xem nhóm Registry này sử dụng lệnh sau:
PS C:> cd HKLM:
PS HKLM:/>
Sau đó bạn sẽ được chuyển sang cửa sổ hiển thị Reggistry để xem và thậm chí là xóa một số mục nếu muốn.
5. Cấp phép cho folder định dạng NTFS
Việc quản lý cấp phép NTFS là một tác vụ hoàn toàn riêng biệt, nhưng
với PowerShell bạn có thể cấp phép phân quyền truy cập hay kiểm tra
danh sách kiểm soát truy cập (ACL) giúp thực hiện cấu hình bảo mật. Đây
có thể là một cơ chế giải trình để lên lịch chạy trong một định dạng
lệnh hay bạn có thể chạy nó để kiểm tra sự cố cụ thể nào đó. Ví dụ khi
chạy lệnh:
PS E:>Get-Acl N:Data
Lệnh này sẽ thông báo quyền bảo mật của bạn tới một đường
dẫn cụ thể (nó sẽ không chia sẻ quyền truy cập). Tuy nhiên nó chỉ gửi
đến một đường dẫn cụ thể duy nhất nhưng nếu muốn nhận lại toàn bộ đường
dẫn bạn có thể sử dụng một cách khác. Với đường dẫn trên (N:\Data) bạn hãy dùng lệnh Get-Childterm (cmdlet) trong Powershell kết hợp với lệnh Get-Acl như ví dụ dưới đây:
PS E:>Get-ChildItem N:Data -recurse | Get-Acl
Lệnh này sẽ bao hàm toàn bộ đường dẫn N:\Data và hiển thị ACL trong nội dung của đường dẫn. Đó là do lệnh Get-Childterm cung cấp một bảng kê các đối tượng của file hệ thống, và bảng kê này được chuyển qua cho lệnh Get-Acl, sau đó Get-Acl sẽ bổ sung kết quả cho từng đối tượng.
Nếu muốn nén những thông tin này thành một tài liệu biến số tách biệt nhau bởi dấu phẩy (CVS), bạn chỉ cần thêm |export-csv c:\filename.csv vào đoạn cuối của lệnh cmdlet. Bạn cũng có thể bổ sung >c:\filename.txt vào cuối lệnh trên để xuất ra một file văn bản. Chú ý, khi sử dụng tùy chọn –recurse nó
chỉ thực hiện lại chính xác những thao tác trên và sẽ kiểm tra toàn bộ
đường dẫn mà bạn đã chỉ định. Vì vậy bạn cần lưu ý khi sử dụng tùy chọn
này với file dung lượng lớn hoặc đường dẫn mạng.
6. Thao tác với PowerShell 2.0
Powershell 2.0 nằm trong Community Technology Preview (CTP). Nó bao gồm một giao diện đồ họa có tên Graphical PowerShell. Các tập lệnh trong PowerShell được lưu trữ dưới những file có định dạng .ps1 giúp người dùng dễ dàng hiệu chỉnh, nhập và truyền các tập lệnh này qua nhiều máy khác nhau.
Cấp phép NTFS khi chạy trong chế độ đồ họa.
Chú ý: Khi sử dụng PowerShell 2.0 bạn phải thực
hiện cấu hình Execution Plolicies (chính sách thực thi) trong phiên bản
không có giao diện đồ họa của PowerShell trước khi sử dụng công cụ này.
Thực hiện cấu hình một trong những Execution Policies như sau:
Bạn phải sử dụng phần mềm WS-MAN v1.1 để đánh giá PowerShell 2.0, và chỉ sử dụng được giao diện đồ họa khi có Microsoft .NET Framework 3.0 hỗ trợ.
7. Một số phím tắt trong giao giao diện đồ họa của PowerShell
Nếu đã từng làm việc trong môi trường Microsoft SQL Analyzer
bạn mới hiểu được tầm quan trọng của phím tắt. Trong giao diện đồ họa
của PowerShell, bạn có thể lựa chọn một dòng duy nhất hay nhiều dòng và
nhấn phím F5 để chạy chúng. Trong khi hiệu chỉnh tập lệnh bạn có thể nhấn tổ hợp phím Ctrl+S (lưu), Ctrl+Z (làm lại), Ctrl+C (copy) và Ctrl+V (dán) để tiết kiệm thời gian chỉnh sửa và kiểm thử.
8 Lên lịch thực hiện tác vụ
Nếu thường xuyên phải sử dụng đến một lệnh cmdlet nào đó bạn có thể sử
dụng PowerShell để đưa nó ra hình nền. Và bạn cũng có thể chạy nhiều
lệnh cùng một lúc và lên lịch hoàn thành cho chúng. Lệnh khởi chạy một
tác vụ cơ sở bắt đầu với tham số start-psjob –command. Bạn có thể sử dụng PowerShell để truy vấn trạng thái của mọi tác vụ với lệnh sau:
PS C:>get-psjob
Sau đó bạn sẽ thấy một bảng kết quả hiển thị trạng thái hiện thời của những tác vụ cùng với một bản mô tả cho mỗi tác vụ.
Bạn cũng có thể chạy lệnh sau để gỡ bỏ những tác vụ không thực hiện được:
PS C:>remove-psjob 9
9. Chèn Timestamp vào dữ liệu kết xuất của PowerShell
Với những tác vụ của PowerShell bạn có thể nhập nhiều Timestamp (nhãn
thời gian) để xác định một tác vụ đơn lẻ xảy ra trong bao lâu, hay sử
dụng Timestamp này như một công cụ ghi nhớ cho những tập lệnh. Để chèn
Timestamp bạn chỉ cần bổ sung một trong các lệnh sau vào file .ps1:
Lệnh
Định dạng Timestamp
“$(Get-Date -format g) Start logging”
2/5/2008 9:15 PM
“$(Get-Date -format F) Start logging”
Tuesday, February 05, 2008 9:15:13 PM
“$(Get-Date -format o) Start logging”
2008-02-05T21:15:13.0368750-05:00
Còn nhiều định dạng khác nữa cho lệnh Get-Date, nhưng ba định dạng trên phù hợp nhất với nhiều ứng dụng.
10. Tạo EasyView
Trong PowerShell, một số lệnh làm cho màn hình di chuyển rất nhanh. Nếu
không xuất kết quả ra một file, có thể bạn sẽ không xem lại được kết
quả đó trên màn hình. Khi đó hãy dùng lại lệnh Get-Childterm
trong ví dụ trên. Lệnh này sẽ trả về nhiều kết quả tùy thuộc vào nội
dung đường dẫn. Ngoài ra, bạn cũng có thể tạo một chức năng EasyView để
xem những kết quả trên màn hình bằng cách hiển thị một dòng sau mỗi ½
giây. Chức năng này được tạo như sau:
function EasyView { process { $_; Start-Sleep -seconds .5}}
Dể chắc chắn một lệnh PowerShell sử dụng được chức năng
EasyView, chỉ cần gọi nó với một đường dẫn cuối dòng lệnh. Nếu lệnh này
sử dụng được với EasyView bạn sẽ thấy hiện ra lệnh có dạng sau:
Get-ChildItem N:Data | EasyView
Chức năng EasyView được cấu hình hiển thị nhiều dòng sau
mỗi ½ giây. Bạn cũng có thể cài đặt giá trị thời gian là ms (mili giây).