2016-10-26 6 views
0

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 uint0, 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?

+0

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

+0

@Liturgist Ich aktualisierte meine Antwort, wo ich diesen Ansatz versuchte, aber es scheint nicht zu funktionieren – Bassie

Antwort

1

Ich hatte ein ähnliches Problem, meins war, dass die Befehlsshell erhöht ausgeführt werden musste. SEFA ist ein bisschen nervenaufreibend, wenn es um gute Fehlermeldungen geht, und scheitert im Hintergrund.

Verwandte Themen