Ich brauche diesen Befehl auf unserem Remote-Skype-Server auszuführen:Wie Remote Command zu Debuggen
SEFAUtil.exe /server:lyncserver.domain1.co.uk sip:[email protected] /addteammember:sip:[email protected] /delayringteam:10
, die einen Kollegen an meiner Team Anrufgruppe erstellt.
Ich kann den Befehl auf dem Server selbst, und der Code unten arbeitet beim Senden andere Befehle an den Server auszuführen:
var processToRun = new[] { process };
var connection = new ConnectionOptions();
var wmiScope = new ManagementScope(String.Format("\\\\{0}\\root\\cimv2", LyncServer), connection);
var wmiProcess = new ManagementClass(wmiScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
var reason = wmiProcess.InvokeMethod("Create", processToRun);
Wenn jedoch process
die Zeichenfolge:
"cmd /c cd /d C:\\Program Files\\Microsoft Lync Server 2013\\ResKit && SEFAUtil.exe /server:lyncserver.domain1.co.uk sip:[email protected] /addteammember:sip:[email protected] /delayringteam:10"
Dann wird der Benutzer nicht zur Teamanrufgruppe hinzugefügt.
kann ich sehen, dass reason
die uint
0
, enthält, der Erfolg zeigt in der Regel - aber der eigentliche Befehl fehlschlägt klar.
Ich habe auch versucht, > C:\users\user.name\desktop\output.txt
und 2> C:\users\user.name\desktop\output.txt
an das Ende des Befehls, aber sie haben nur leere Textdateien erstellt, so nicht sehr nützlich!
aktualisieren
Ich habe versucht, den Befehl an die folgende Veränderung:
const string LyncServer = "server.domain1.co.uk";
const string ResKitPath = @"C:\Program Files\Microsoft Lync Server 2013\ResKit";
var command = "SEFAUtil.exe /server:{LyncServer} sip:[email protected] /addteammember:sip:[email protected] /delayringteam:10";
var process = $"cmd /c cd /d \"{ResKitPath}\" && {command}";
Damit der Pfad Leerzeichen enthält, ist in doppelten Anführungszeichen und die Schrägstriche sind nicht entgangen ist, aber mit dem gleichen Ergebnis .
Kennt jemand eine andere Art der Fehlersuche oder das Abrufen der Ausgabe für den neu erstellten Prozess?
Nicht sicher, dass die Backslashes maskiert werden müssen. Ziemlich sicher müssen Sie den Verzeichnispfad angeben, der Leerzeichen enthält. 'cd/d" C: \\ Programme \\ Microsoft Lync Server 2013 \\ ResKit "'. – lit
@Liturgist Ich aktualisierte meine Antwort, wo ich diesen Ansatz versuchte, aber es scheint nicht zu funktionieren – Bassie