2008-09-28 22 views
7

Tôi đang tạo một tập lệnh tự động để đọc danh sách từ trang web đăng mã được biên dịch mới nhất. Đó là phần tôi đã tìm ra. Phần tiếp theo của kịch bản là lấy mã được biên dịch từ một máy chủ với một chứng chỉ không đáng tin cậy.Kịch bản Powershell để tải xuống tệp, gặp sự cố khi thiết lập kết nối an toàn

Đây là cách tôi sẽ về lấy các file:

$web = new-object System.Net.WebClient 
$web.DownloadFile("https://uri/file.msi", "installer.msi") 

Sau đó, tôi nhận được thông báo lỗi sau:

Exception calling "DownloadFile" with "2" argument(s): "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."

Tôi biết tôi thiếu cái gì đó, nhưng tôi không thể tìm đúng cách để tìm kiếm.

Trả lời

3

Bạn cần viết trình xử lý gọi lại cho ServicePointManager.ServerCertificateValidationCallback.

+0

Điều này là chính xác. Tôi đã phải tạo một ConsoleApp để cho phép tôi làm điều này. Tôi không còn có thể đánh bại bộ não của tôi trong việc tìm ra nó trong PowerShell. –

4

Brad là chính xác, nhưng lưu ý rằng PowerShell V1 không thực sự có hỗ trợ gốc cho các đại biểu, mà bạn sẽ cần trong trường hợp cụ thể này. Tôi tin rằng điều này nên get you around giới hạn đó (trên thực tế kịch bản bạn mô tả chính xác là một trong các ví dụ được sử dụng).

Các vấn đề liên quan