Es fällt mir schwer, eine Lösung zu finden, um ein Framework, das für * nix-Maschinen entwickelt wurde, auf Windows zu erweitern. Das Framework läuft derzeit von einem * nix-Server und ssh auf andere * nix-Server und führt eine Reihe verschiedener Befehle aus, wie das Überprüfen von Protokolldateien, das Synchronisieren von Dateien aus der Quellcodeverwaltung, das Zurücksenden von Protokollen an die Quellcodeverwaltung usw. stecken bleibt, wie man sich mit den entfernten Windows-Rechnern verbindet und auf die Kommandozeile zugreift. Die Verbindung kann auch von einem anderen Windows-Computer kommen, sie muss nicht von einem Unix-Computer gestartet werden, sondern kann von Windows zu Windows anstatt von Unix zu Windows gehen.
Hier ist ein Beispiel, wie Befehle derzeit auf Unix-Systemen ausgeführt werden. So etwas befindet sich in einer Schleife, die eine Liste von Servernamen durchläuft. Ich brauche so etwas, um auf Windows-Computern zu laufen.
ssh ${user}@${server} "cd /app/app_name/logs; <export source control params>; <submit logs to source control>" >> Log.txt
Außerdem würde ich es vorziehen, kein Tool eines Drittanbieters zu verwenden (mein Budget beträgt ungefähr 0 USD). Ich habe PsExec und ein paar andere ausprobiert, aber es sieht so aus, als ob Sie Administratorzugriff benötigen oder Benutzer übergeben / im Klartext übergeben müssen.
Antworten:
Verwenden Sie Powershell Remoting: https://msdn.microsoft.com/en-us/powershell/scripting/core-powershell/running-remote-commands
Schamlos kopiert:
quelle
Versuchen Sie tunnellier von Bitvise. Das ist ein SSH-Client. Es gibt auch einen SSH-Server für die Verbindung mit einem Windows-Computer. Die beiden ermöglichen es Ihnen, sehr sichere Verbindungen zusammen mit fortgeschritteneren Dingen wie einem Web-Proxy oder Port-Tunneling herzustellen.
quelle
Installieren Sie den OpenSSH-Port für Windows - er ist kostenlos und bietet sowohl Client als auch Server.
quelle
Versuchen Sie es mit psexec, das Ihnen eine Remote-Shell über den Dateifreigabedienst bietet (oder wie auch immer dies heißt). Es gibt auch winexe, wenn Sie Linux als Client verwenden möchten.
quelle
Ich mag die Idee von PowerShell sehr, obwohl die Konfiguration auf dem Server und dem Client einige Minuten dauern kann.
Neben der vollständigen Antwort von Shanteva, die die Verwendung von PowerShell vorschlägt, sollten Sie auf der HowTogeek-Website unter Hier nachlesen, wie eine Remoteverbindung zum PowerShell-Server tatsächlich aktiviert (und zugelassen) wird. Auf dem Servercomputer ist etwas Konfiguration erforderlich.
Zwei wichtige Dinge, die Sie tun müssen: (Ich muss nicht erwähnen, dass Sie jede Konfiguration als Administrator ausführen müssen. Öffnen Sie einfach PowerShell / cmd als Administrator.)
Öffnen Sie auf dem Server-Computer PowerShell und führen Sie Folgendes aus:
Es gibt auch einen anderen Weg, dies zu tun. Sie können eine Eingabeaufforderung öffnen und Folgendes ausführen:
Es könnten viel mehr Konfigurationen geändert werden. Das brauche ich jetzt nicht.
Befinden sich beide Computer in derselben "Domäne" (einer Gruppe von Computern, denen unterschiedliche Regeln und Rollen zugewiesen sind), scheint das Verfahren einfach zu sein (das habe ich nicht ausprobiert).
ABER, da Sie wahrscheinlich über das Internet (technisch als WAN-Netzwerk bezeichnet) auf Ihren Server zugreifen möchten, treten einige Probleme auf, und Sie müssen einige Einstellungen ändern, um die Verbindung zum Remote-Server zuzulassen. Aktivieren Sie auf dem CLIENT- Computer den WINRM-Dienst. Die Vorgehensweise ist ähnlich wie oben für den Server. Führen Sie einfach den Befehl aus:
(Nochmals bemerkenswert! Einige Referenzen besagen, dass sich der Client-Computer und der Server-Computer in "privaten" Netzwerken befinden müssen, sonst funktioniert das Ganze nicht. Ich erhalte dazu Fehlermeldungen, wenn ich den obigen Befehl ausführe, aber alles funktioniert Ich bin mir da nicht sicher. Überprüfen Sie die oben genannte Webseite.)
Führen Sie dann auf dem CLIENT- Computer in PowerShell Folgendes aus:
Dies bedeutet, dass der Client allen Servern (Hosts) vertraut. Führen Sie zum Schluss Folgendes aus (auf dem KUNDEN möchte ich nochmals betonen):
Sie sind bereit zu gehen. Überprüfen Sie den Rest von Shantevas Antwort. Führen Sie auf dem CLIENT-Computer beispielsweise Folgendes aus:
Es wird nach einem Passwort gefragt und die Remote-Konsole wird geöffnet. Sie sieht folgendermaßen aus:
Dann geben Sie einfach Befehle wie bei SSH ein.
quelle