Truy cập máy tính từ xa với PowerShell

04/11/2015 08:01
Theo dõi ICTVietnam trên

Tính năng PowerShell Remoting cho phép người dùng thực hiện câu lệnh hoặc truy cập phiên PowerShell cho những máy tính Windows từ xa tương tự chức năng SSH

Bài viết sau giới thiệu cách kích hoạt và sử dụng PowerShell Remoting.

Chú ý: trong hệ điều hành PowerShell mặc định bị khóa, vì vậy phải kích hoạt PowerShell Remoting trước khi sử dụng.

Trong bài viết này có hai từ viết tắt: máy tính ở xa gọi là máy nhận lệnh; máy tính dùng để truy cập vào máy tính ở xa gọi là máy phát lệnh.

Bước 1: Kích hoạt PowerShell Remoting

Tại máy nhận lệnh, mở một cửa sổ PowerShell (cần đăng nhập người dùng là quản trị cao cấp). Kích chuột phải vào biểu tượng PowerShell và chọn Run as Administrator.

Ngoài ra, có thể kích hoạt PowerShell Remoting bằng cách thực hiện lệnh:

Enable-PSRemoting –Force

Câu lệnh này sẽ làm chạy dịch vụ WinRM, dịch vụ này dùng để thiết lập cho dịch vụ khởi động tự động cùng máy tính và tạo chính sách tường lửa cho các kết nối. Tham số “-Force” thực hiện cho phép mà không cần thông báo từng bước.

Bước 2: Thiết lập nhóm (workgroup)

Yêu cầu đối với máy phát lệnh và máy nhận lệnh là phải thuộc cùng một miền. Để thực hiện cần cấu hình TrustedHosts để hai máy tính này liên lạc tin tưởng với nhau bằng câu lệnh:

Set-Item wsman:\localhost\client\trustedhosts *

Trong đó:

·Tham số *: cho phép toàn bộ các địa chỉ IP kết nối vào miền với nhau, nếu muốn hạn chế số máy được phép kết nối, thay thế dấu “*” bằng danh sách các địa chỉ IP hoặc tên của máy được phép, phân cách nhau bằng dấu phẩy.

Sau khi thực hiện xong việc thiết lập nhóm, khởi động lại dịch vụ WinRM để những thiết lập mới có tác dụng:

Restart-Service WinRM

Bước 3: kiểm tra kết nối

Tại máy phát lệnh, sử dụng lệnh Test-WsMan để kiểm tra cấu hình. Câu lệnh sẽ kiểm tra dịch vụ WinRM có đang hoạt động tại máy nhận lệnh. Nếu xuất hiện thông báo thành công công quá trình kiểm tra hoàn tất kết nối, thông tin dịch vụ WinRM sẽ xuất hiện tại cửa sổ của máy phát lệnh. Câu lệnh kiểm tra như sau:

Test-WsMan COMPUTER

Trong đó:

·COMPUTER tên máy tính nhận lệnh

Bước 4: Thực hiện lệnh từ xa

Để thực hiện một lệnh trên máy nhận lệnh, sử dụng câu lệnh Invoke-Command tại máy phát lệnh

Cú pháp câu lệnh như sau:

Invoke-Command -ComputerName COMPUTER -ScriptBlock { COMMAND } -credential USERNAME

Trong đó:

·COMPUTER tên máy tính từ xa

·COMMAND là câu lệnh muốn thực hiện

·USERNAME là tên người dùng muốn thực hiện lệnh trên máy đầu xa (phải nhập mật khẩu cho username)

Ví dụ: để xem nội dung của thư mục C:\ ở máy tính từ xa có tên khanhdhh dưới username khanhdh, sử dụng lệnh:

Invoke-Command -ComputerName khanhdh -ScriptBlock { Get-ChildItem C:\ } -credential khanhdh

Bước 5: Bắt đầu phiên từ xa

Sử dụng lệnh Enter-PSSession để bắt đầu phiên PowerShell từ xa, giúp có thể thực hiện nhiều câu lệnh, thay vì chỉ một lệnh:

Enter-PSSession -ComputerName COMPUTER -Credential USER

Hồng Khánh

Nổi bật Tạp chí Thông tin & Truyền thông
Đừng bỏ lỡ
Truy cập máy tính từ xa với PowerShell
POWERED BY ONECMS - A PRODUCT OF NEKO