Windows PowerShell từ xa
Điều khiển từ xa Windows PowerShell, sử dụng giao thức WS-Management, cho phép bạn chạy bất kỳ lệnh Windows PowerShell nào trên một hoặc nhiều máy tính từ xa. Nó cho phép bạn thiết lập các kết nối liên tục, bắt đầu các phiên tương tác 1: 1 và chạy các tập lệnh trên nhiều máy tính. Để sử dụng điều khiển từ xa Windows PowerShell, máy tính từ xa phải được cấu hình để quản lý từ xa. Sau khi bạn đã định cấu hình từ xa Windows PowerShell, nhiều chiến lược từ xa có sẵn cho bạn. Phần còn lại của tài liệu này chỉ liệt kê một vài trong số họ.
Bắt đầu một phiên tương tác
Để bắt đầu phiên tương tác với một máy tính từ xa, hãy sử dụng lệnh ghép ngắn Enter-PSSession. Ví dụ: để bắt đầu phiên tương tác với máy tính từ xa Server01, hãy nhập:
Enter-PSSession Server01
Dấu nhắc lệnh thay đổi để hiển thị tên của máy tính mà bạn được kết nối. Từ đó trở đi, bất kỳ lệnh nào bạn gõ tại dấu nhắc chạy trên máy tính từ xa và kết quả được hiển thị trên máy tính cục bộ.
Để kết thúc phiên tương tác, nhập:
Exit-PSSession
Chạy một lệnh từ xa
Để chạy bất kỳ lệnh nào trên một hoặc nhiều máy tính từ xa, hãy sử dụng lệnh ghép ngắn Invoke-Command. Ví dụ: để chạy lệnh Get-UICARM trên máy tính từ xa Server01 và Server02, hãy nhập:
invoke-command -computername Server01, Server02 {get-UICulture}
Đầu ra được trả về máy tính của bạn.
LCID Name DisplayName PSComputerName
---- ---- ----------- --------------
1033 en-US English (United States) server01.corp.fabrikam.com
1033 en-US English (United States) server02.corp.fabrikam.com
Chạy một kịch bản
Để chạy tập lệnh trên một hoặc nhiều máy tính từ xa, hãy sử dụng tham số FilePath của lệnh ghép ngắn Invoke-Command. Kịch bản phải được bật hoặc truy cập vào máy tính cục bộ của bạn. Kết quả được trả về máy tính cục bộ của bạn.
Ví dụ: lệnh sau chạy tập lệnh DiskCollect.ps1 trên máy tính từ xa Server01 và Server02.
invoke-command -computername Server01, Server02 -filepath c:\Scripts\DiskCollect.ps1
Thiết lập kết nối liên tục
Để chạy một loạt các lệnh liên quan chia sẻ dữ liệu, hãy tạo một phiên trên máy tính từ xa và sau đó sử dụng lệnh ghép ngắn Invoke-Command để chạy các lệnh trong phiên mà bạn tạo. Để tạo một phiên từ xa, hãy sử dụng lệnh ghép ngắn New-PSSession.
Ví dụ: lệnh sau tạo một phiên từ xa trên máy tính Server01 và một phiên từ xa khác trên máy tính Server02. Nó lưu các đối tượng phiên trong biến $ s.
$s = new-pssession -computername Server01, Server02
Bây giờ các phiên được thiết lập, bạn có thể chạy bất kỳ lệnh nào trong chúng. Và bởi vì các phiên là liên tục, bạn có thể thu thập dữ liệu trong một lệnh và sử dụng nó trong một lệnh tiếp theo.
Ví dụ: lệnh sau chạy lệnh Get-Hotfix trong các phiên trong biến $ s và nó lưu kết quả trong biến $ h. Biến $ h được tạo trong mỗi phiên trong $ s, nhưng nó không tồn tại trong phiên cục bộ.
invoke-command -session $s {$h = get-hotfix}
Bây giờ bạn có thể sử dụng dữ liệu trong biến $ h trong các lệnh tiếp theo, chẳng hạn như lệnh sau. Kết quả được hiển thị trên máy tính cục bộ.
invoke-command -session $s {$h | where {$_.installedby -ne "NTAUTHORITY\SYSTEM"} }