2009-02-10 29 views

Trả lời

7

MichaelGG đã nhận nó đúng - tất cả các bạn cần làm là sử dụng remoting bản địa có sẵn trong PowerShell V2. Nó cung cấp cho bạn một mức độ kiểm soát điên rồ trên mạng tất cả bằng cách sử dụng giao thức WS-MAN (đó là một giao thức quản lý chuẩn được thực hiện bởi dịch vụ WINRM của chúng tôi).

Cách hoạt động của tính năng từ xa V2 là bạn có thể gọi lệnh (lệnh đơn, đường dẫn, tập lệnh hoặc toàn bộ tập lệnh) trên máy từ xa và chỉ định cách bạn muốn lệnh đó chạy.

ví dụ: Invoke-Command {get-process} -Computername (cat servers.txt)

Invoke-Command 
    (1)-ScriptBlock | -Command <ScriptBlock> 
    (0)[-ComputerName | -Cn <String[]>] 
     [-ApplicationName <String>] 
     [-ArgumentList | -Args <Object[]>] 
     [-AsJob ] 
     [-Authentication <Basic | Credssp | Default | Digest | Kerberos | Negotiate | NegotiateWithImplicitCredential>] 
     [-CertificateThumbprint <String>] 
     [-ConfigurationName <String>] 
     [-Credential <PSCredential>] 
     [-HideComputerName | -HCN ] 
     [-InputObject <PSObject> (ByValue)] 
     [-JobName <String>] 
     [-Port <1->] 
     [-SessionOption <System.Management.Automation.Remoting.PSSessionOption>] 
     [-ThrottleLimit <Int>] 
     [-UseSSL ] 

Bạn cũng có thể cung cấp SessionOptions

New-WSManSessionOption 
     [-NoEncryption ] 
     [-OperationTimeout <0->] 
     [-ProxyAccessType <ProxyAutoDetect | ProxyIEConfig | ProxyNoProxyServer | ProxyWinHttpConfig>] 
     [-ProxyAuthentication <Basic | Digest | Negotiate>] 
     [-ProxyCredential <PSCredential>] 
     [-SkipCACheck ] 
     [-SkipCNCheck ] 
     [-SkipRevocationCheck ] 
     [-SPNPort <0->] 
     [-UseUTF16 ] 



New-WSManSessionOption 
      [-NoEncryption ] 
      [-OperationTimeout <0->] 
      [-ProxyAccessType <ProxyAutoDetect | ProxyIEConfig | ProxyNoProxyServer | ProxyWinHttpConfig>] 
      [-ProxyAuthentication <Basic | Digest | Negotiate>] 
      [-ProxyCredential <PSCredential>] 
      [-SkipCACheck ] 
      [-SkipCNCheck ] 
      [-SkipRevocationCheck ] 
      [-SPNPort <0->] 
      [-UseUTF16 ] 

Như bạn thấy, bạn có thể chỉ định làm thế nào để đi qua proxy, bạn có thể cung cấp một tập hợp các thông tin để các proxy và một bộ khác nhau của các thông tin đến điểm cuối. Tất cả những gì đã nói, trường hợp đơn giản là bạn không chỉ định bất cứ điều gì và chúng tôi sẽ sử dụng cổng 80.

Thử nghiệm! Thưởng thức! Thuê!

Jeffrey Snover [MSFT]
của Windows Đối tác Quản lý Kiến trúc sư

+0

Bạn có cập nhật số này để hiển thị số cổng chính xác được Aleksandar đề cập không? – LamonteCristo

-1

Cổng nào bạn cần mở hoàn toàn phụ thuộc vào những gì bạn dự định thực hiện trong tập lệnh của mình.

6

PowerShell 2 sẽ làm điều khiển từ xa qua WinRM (WinRM đã có sẵn, kể từ Windows 2003 R2, IIRC). WinRM chỉ là SOAP trên HTTP [S]. Vì vậy, cổng là 80 theo mặc định, 443 cho SSL theo mặc định.

Dưới đây là một tổng quan nhanh chóng trên PS2 remoting, và một trên WinRM cho năm 2003.

+0

Để làm rõ rằng PowerShell v2 cũng sẽ đòi hỏi WinRM 2 (hiện đang trong CTP cũng). Windows Server 2008, ví dụ, được đóng gói với WinRM 1.1, nhưng WinRM 2 phải được sử dụng để tích hợp đầy đủ với PowerShell v2. –

+0

Số cổng chính xác hiện là 5985 5986 – LamonteCristo

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