Chạy lệnh IIS trên máy chủ từ xa thông qua Powershell


6

Tôi đang cố kiểm tra xem nhóm ứng dụng IIS có tồn tại trên máy chủ từ xa bằng tập lệnh PowerShell không. Lệnh tôi đang chạy là:

test-path "IIS:\AppPools\DefaultAppPool"

Nếu tôi chạy tập lệnh này trực tiếp trên máy chủ IIS trong câu hỏi, tôi nhận được phản hồi về "Đúng" vì vậy điều này cho tôi biết rằng tôi có quản lý IIS được cấu hình đúng trong PowerShell. Tuy nhiên, khi tôi chạy đoạn script sau từ máy chủ từ xa, tôi nhận được phản hồi là "Sai"

invoke-command -ComputerName IISSERVER -ScriptBlock { test-path "IIS:\AppPools\DefaultAppPool" }

Tôi biết rằng điều khiển từ xa PowerShell được cấu hình đúng vì tôi có thể chạy lệnh sau và nhận danh sách các tệp

invoke-command -ComputerName IISSERVER -ScriptBlock { get-childitems "c:\" }

Vậy tại sao tôi nhận được phản hồi sai về sự tồn tại của nhóm ứng dụng?


1
lưu ý rằng trong ví dụ về lệnh gọi, get-childitems "c: \" nên đọc get-childitem "c: \". Điều đó sẽ dạy tôi sao chép và dán.
rob

Câu trả lời:


5

Điều này là do phiên PowerShell từ xa không bao gồm ổ đĩa PowerShell "IIS:". (Thử chạy "Get-PSDrive" cục bộ, rồi qua Lệnh gọi, để thấy sự khác biệt).

Ổ đĩa "IIS:" gần như chắc chắn được thêm vào bởi phần đính kèm WebAdAd PS khi bạn đang chạy Powershell cục bộ trên máy chủ IIS, vì bạn đang khởi chạy PowerShell từ một phím tắt đặc biệt cho IIS hoặc do tập lệnh cấu hình PowerShell cục bộ đang chạy và tải nó

Bạn Nên nhận được kết quả mà bạn đang tìm kiếm bằng cách thêm rõ ràng phần đính vào WebAd dùng vào phiên từ xa (tạo ổ đĩa "IIS:") bằng cách thay đổi Lệnh gọi của bạn thành như sau:

invoke-command -ComputerName IISSERVER -ScriptBlock { Add-PSSnapin WebAdministration; test-path "IIS:\AppPools\DefaultAppPool" }

Xin lưu ý rằng IIS PSDrive lưu trữ dữ liệu. Bạn nên gọi {Loại bỏ mô-đun WebAd dùng; Nhập mô-đun WebAd dùng} để xem dữ liệu thực tế nếu nó được cập nhật trong phiên khác.
Der_Meister
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.