Khi cố gắng tạo tập lệnh PowerShell bằng cách sử dụng từ xa, tôi gặp phải vấn đề mà tôi tin là vấn đề hai bước . Trong bài viết đó, Perriman đưa ra một mô tả ngắn gọn về vấn đề cũng như các bước cụ thể để giải quyết vấn đề (gần như không đáng kể nếu bạn biết các lệnh, nhưng đối với một người ít quen thuộc như tôi, thông tin đó là vô giá!).
Tôi đã chạy Enable-WSManCredSSP Server
trên máy chủ Win7 của mình mà không gặp sự cố, nhưng cố gắng chạy Enable-WSManCredSSP Client –DelegateComputer <FQDN of the server>
trên máy khách Win7 của tôi đã phát sinh lỗi này:
Enable-WSManCredSSP : The client cannot connect to the destination specified
in the request. Verify that the service on the destination is running and
is accepting requests.
Consult the logs and documentation for the WS-Management service running
on the destination, most commonly IIS or WinRM. If the destination
is the WinRM service, run the following com mand on the destination
to analyze and configure the WinRM service: "winrm quickconfig".
Chạy winrm quickconfig xác nhận máy chủ của tôi đang chạy WinRM:
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.
Và Get-WSManCredSSP xác nhận rằng máy chủ của tôi đã sẵn sàng chấp nhận thông tin đăng nhập từ khách hàng:
The machine is not configured to allow delegating fresh credentials.
This computer is configured to receive credentials from a remote client computer.
Tôi cũng tìm thấy bài viết của Boessen về WinRM trong đó anh ấy mô tả thiết lập WinRM chung và tìm thấy một mẩu tin để có được một điểm dữ liệu hữu ích trong chẩn đoán; lệnh này chạy trên máy khách sử dụng công cụ winrs để truy cập máy chủ từ xa:
winrs -r:http://<FQDN of my server>:5985 -u:<myDomain>\msorens "dir c:\"
Lệnh đó đã trả về kết quả mong đợi, nội dung của thư mục gốc trên máy chủ, không có sự cố, xác nhận rằng FQDN của tôi là chính xác và WinRM được bật.
Boessen chỉ ra cổng 5985 là mặc định cho Win7; Lệnh này chạy trên máy chủ xác nhận giá trị 5985:
get-item wsman:\localhost\listener\listener*\port
Câu hỏi: Tại sao tôi không thể thực thi lệnh Enable-WSManCredSSP ở phía máy khách?
Cập nhật 2011/06/07
Tôi đã tìm thấy một giải pháp cho câu hỏi trên: gọi Enable-PSRemote , được quảng cáo để cấu hình một máy tính để nhận các lệnh từ xa, cho phép Enable-WSManCredSSP trên máy khách hoạt động thành công! Tò mò, nhưng trang người đàn ông của nó cho thấy nó thực hiện một số hành động khác nhau, vì vậy tôi cho rằng một trong những người đó đã vô tình làm những gì tôi cần.
Nhưng sau đó tôi đã đạt được một rào cản khác khi tôi cố gắng sử dụng xác thực CredSSP. Đây là lệnh:
Invoke-Command { Write-Host "hello, world" } -computername $serverName `
-credential $testCred -Authentication Credssp
Và đây là câu trả lời:
Kết nối với máy chủ từ xa không thành công với thông báo lỗi sau: Máy khách WinRM không thể xử lý yêu cầu. Chính sách máy tính không cho phép ủy quyền của thông tin người dùng đến máy tính mục tiêu. Sử dụng gpedit.msc và xem chính sách sau: Cấu hình máy tính -> Mẫu quản trị -> Hệ thống -> Đoàn ủy nhiệm -> Cho phép ủy nhiệm chứng chỉ mới. Xác minh rằng nó được kích hoạt và được cấu hình với SPN phù hợp với máy tính mục tiêu. Ví dụ, đối với tên máy tính mục tiêu "myserver.domain.com", SPN có thể là một trong như sau: WSMAN /myserver.domain.com hoặc WSMAN / *. domain.com. Để biết thêm thông tin, hãy xem chủ đề Trợ giúp về khởi động about_Remote_Troubledhoot.
Tôi đã xác minh các cài đặt giống như thông báo lỗi hữu ích đáng chú ý này và có vẻ như nó được cấu hình đúng.
Câu hỏi mới: Điều gì kết nối từ xa này với CredSSP không thành công?
Để trả lời, hãy ghi nhớ những điều sau: Hãy để tôi xua tan mọi ý kiến rằng tôi biết tôi đang làm gì ở đây, bất kỳ sự xuất hiện nào trái ngược với sự hiểu biết. :-) Quản trị viên Windows không phải là lĩnh vực chuyên môn của tôi!