Mit Powershell von Win7 zu Win2k8

schumischumi

Lt. Commander
Registriert
Dez. 2011
Beiträge
1.121
Hallo zusammen,

ich wurde hier von holy(und natürlich allen anderen^^) super beraten, aber stoße jetzt auf ein problem.
situation:
mein rechner (workgroup, ps 2.0, win7) soll einen remote PS befehl auf einem Server (in domäne, ps 2.0, w2k8) ausführen.
nun wir immer geschrieben, dass er auf den Client nicht zugreifen kann.
wenn ich mich selber/localhost als ziel angebe funzt alles. auch wenn ich das Skript auf Server2 (selbe domäne, ps 2.0, w2k8) ausführe greift dieser ohne probleme auf server1 zu.
kurze analyse war: ports von mir aus frei, user passt, bin in den trustedhosts, Set-ExecutionPolicy unrestricted wurde gesetzt.

habe das problem auch mit anderen PS skripten. kann also generell nicht von meinem Rechner auf W2k8 kisten in der anderen domäne zugreifen.

FM:"System.Management.Automation.Remoting.PSRemotingTransportException: Beim Verbinden mit dem Remoteserver ist folgender Fehler aufgetreten:
Der Client kann keine Verbindung mit dem in der Anforderung angegebenen Ziel herstellen. Stellen Sie sicher, dass der Dienst auf dem Ziel ausgeführt wird und
die Anforderungen akzeptiert. Lesen Sie die Protokolle und die Dokumentation für den WS-Verwaltungsdienst, der auf dem Ziel ausgeführt wird. Hierbei handelt
es sich meistens um IIS oder WinRM. Wenn das Ziel der WinRM-Dienst ist, führen Sie den folgenden Befehl auf dem Ziel aus, um den WinRM-Dienst zu analysieren
und zu konfigurieren: "winrm quickconfig". Weitere Informationen finden Sie im Hilfethema "about_Remote_Troubleshooting"."

danke schonmal


PS: falls das c# skript noch was bringt:

Code:
System.Security.SecureString password = new System.Security.SecureString();

	            foreach (char c in "supergeheim")
	            {                   
	                password.AppendChar(c);
	            }
		       	PSCredential psc = new PSCredential("administrator", password);
		       	string shellUri = "http://schemas.microsoft.com/powershell/Microsoft.PowerShell";
				WSManConnectionInfo connectionInfo = new WSManConnectionInfo(false,"servername", 5985, "/wsman", shellUri, psc);

		      	connectionInfo.OperationTimeout = 4 * 60 * 1000; // 4 minutes.
				connectionInfo.OpenTimeout = 1 * 60 * 1000; // 1 minute.
				Runspace remoteRunspace = RunspaceFactory.CreateRunspace(connectionInfo);
				remoteRunspace.Open();
				
				using (PowerShell powershell = PowerShell.Create())
				{
				  powershell.Runspace = remoteRunspace;
				  powershell.AddCommand("get-process");
				  powershell.Invoke();
				  
				  Collection<PSObject> results = powershell.Invoke();
					

					int i = 0;
					foreach (PSObject result in results)
					{
					  	
						add2List(5,result.Members["ProcessName"].Value.ToString(),
						         result.Members["HandleCount"].Value.ToString());
						if(i == 5){
						break;
						}
						i++;
					}
				
				}
				remoteRunspace.Close();
 
Zuletzt bearbeitet:
WinRM muss schon laufen auf dem Zielsystem. Hast du das sichergestellt?
 
jup läuft. wie gesagt will auf server1 von win7 zugreifen => geht nicht
auf server1 von server2 => geht

daraus folgere ich, dass generell ein remotezugriff möglich ist, halt nur nicht von meinem system aus.
Ergänzung ()

..... lange lange googlen hilft doch...

connectionInfo.ProxyAuthentication = AuthenticationMechanism.Negotiate;

hat sich hiermit erledigt. trotzdem vielen dank an alle wegen der zeit.
 
Zurück
Oben