Was bedeutet es, dass Powershell 2.0 „Firewall-freundlich“ sein wird?
-
22-08-2019 - |
Frage
Ich habe Interesse an hinter einer Firewall Powershell-Skripts auf einem Computer ausgeführt wird. Welche Ports muss ich offen haben? Werde keine spezielle Konfiguration erforderlich sein, oder ich werde nur in der Lage einen neuen zu verbinden sein werde Installation von Windows Server 2008 R2 und starten Sie meine Skripte ausführen?
Lösung
MichaelGG es richtig gemacht - alles, was Sie tun müssen, ist die native Remote in Powershell V2 verfügbar zu verwenden. Es gibt Ihnen einen verrückten Grad an Kontrolle über die Vernetzung all WS-MAN-Protokoll (das ist ein Standard-Management-Protokoll, das von unserem WinRM-Dienst implementiert ist).
Die Art und Weise der V2-Remoting funktioniert, ist, dass Sie einen Befehl (einzigen Befehl, Pipeline, eine Reihe von Befehlen oder ganze Skript) aufrufen kann, auf einem entfernten Rechner (n) und angeben, wie dieser Befehl ausgeführt werden soll.
z.
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 ]
Sie können auch liefern 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 ]
Wie Sie sehen können, können Sie festlegen, wie Proxies zu durchqueren, können Sie einen Satz von Anmeldeinformationen an den Proxy zur Verfügung stellen kann und einen anderen Satz von Anmeldeinformationen an den Endpunkt. Alles, was gesagt, ist der einfache Fall, dass Sie etwas nicht angeben, und wir werden die Port 80 verwenden.
Experiment! Genießen! Engage!
Jeffrey Snover [MSFT]
Windows Management Partner Architekt
Andere Tipps
Powershell 2 tun Remote über WinRM (WinRM ist bereits verfügbar, da Windows 2003 R2, IIRC). WinRM ist nur SOAP über HTTP [S]. So ist der standardmäßig Port 80, 443 für SSL standardmäßig.
Hier ist ein kurzer Überblick über PS2 Remote und ein auf WinRM für das Jahr 2003.
Die Standard-Ports verwenden für WS-Management und Powershell-Remoting haben 5985 ein 5986 für Verbindungen über HTTP und HTTPS geändert worden ist.
Weitere Informationen unter Windows Management Infrstructure Blog - http://blogs.msdn.com/wmi/archive/2009/07/22/new-default-ports-for-ws-management-and-powershell-remoting aspx
Welche Ports Sie müssen offen völlig abhängig ist, was Sie wollen in Ihren Skripten zu tun.