2016-05-25 15 views
1

Ich habe derzeit ein PowerShell-Skript, das Beyond Compare v3 aufruft, um Dateien von einer sicheren SFTP-Site in mein Netzwerk zu kopieren. Wenn ich das PowerShell-Skript in der PS GUI und der PS-Konsole ausführe, funktioniert es einwandfrei. Es kann sich mit der SFTP-Site und meinem Netzwerk verbinden, und es kopiert die Dateien.Verwenden von Strg-M zum Ausführen eines PowerShell-Skripts zum Kopieren von Dateien aus anderen Vergleichen

Ich habe einen Job in Control-M erstellt, der das PowerShell-Skript mit 2 Parametern aufruft. Als ich den Auftrag ausführen, ist es nicht die Dateien kopieren und das Beyond Compare log sagt:

Connecting to XXX.XX.XX.XXX

Server key [ssh-rsa XXXX XX:XX.....]

Connection failed: Attempted to open a "Unknown Host Key" dialog when running silently

Attempted to open a "Unknown Host Key" dialog when running silently

Load comparison: "My Location Path" <->

Fatal Scripting Error: Unable to load base folder

Wie ich schon sagte, wenn ich es durch Powershell selbst es in der Lage ist, kein Problem zu verbinden und alle Dateien kopieren vorbei, also hat meine Beyond Compare-Skriptdatei keine Probleme. Ich glaube, das ist ein Fehler bei Control-M selbst.

Antwort

2

Wenn Sie zum ersten Mal eine Verbindung zu einem SFTP-Server in Beyond Compare herstellen, werden Sie aufgefordert, den Host-Schlüssel des Servers mit dem Kontrollkästchen "Host-Schlüssel zum vertrauenswürdigen Cache hinzufügen" zu akzeptieren.

Die Fehlermeldung zeigt an, dass das Skript, das über Control-M ausgeführt wird, nicht über den SFTP-Hostschlüssel in seiner vertrauenswürdigen Liste verfügt. Da es als Skript ausgeführt wird, kann die GUI-Eingabeaufforderung nicht angezeigt werden, um den Schlüssel zu akzeptieren, und das Skript schlägt fehl.

Der vertrauenswürdige Cache für SFTP-Server wird pro Benutzer in "% appdata% \ scooter software \ beyond compare 3 \" gespeichert. Wenn Control-M Beyond Compare als ein anderes Benutzerkonto ausführt, hat es keinen Zugriff auf die vertrauenswürdige Liste für Ihr Konto und generiert den Fehler. Sie können entweder denselben Benutzer verwenden, um das Beyond Compare-Skript über Control-M auszuführen, oder Sie können die Einstellungen in das Benutzerkonto des Control-M-Jobs kopieren.

Dieser Fehler wird auch manchmal angezeigt, wenn Sie ein Beyond Compare-Skript als dasselbe Benutzerkonto ausführen, das Sie interaktiv verwendet haben, aber der nicht interaktive Lauf hat keinen Zugriff auf Ihr Benutzerprofil. Ein Beispiel dafür ist das Ausführen von Beyond Compare-Skripts als geplante Tasks unter Windows Server 2012, da es über eine bug that loads the default profile instead of the user profile verfügt. Das Ausführen der Aufgabe von einer portablen Installation nach dem einmaligen Herstellen einer interaktiven Verbindung zum Akzeptieren des Schlüssels ist eine Problemumgehung für das Windows Server 2012-Problem.

Verwandte Themen