Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: dkammer am 06.02.14 - 15:44:26
-
Servus miteinander,
wir implementieren in eine Datenbank einen Agent mit dem wir uns per RDP auf Geräte draufschalten können.
Schaut ungefähr so aus:
______________________________________________________________________
vPath := "mstsc";
vPathAppField := @GetProfileField("geuserprofile"; "fdPathToDSSAppendFieldContent"; @UserName);
tmpvalWert := @GetField(vPathAppField);
tmpIsURL := @If(@Contains(tmpval; "://") | @Contains(tmpval; "http"); "1";"0");
@If(tmpval != ""; @If(tmpIsURL = "1"; @URLOpen( tmpval ); @Command( [Execute] ;tmpval;" /v:" + tmpvalWert));"");
@All
_____________________________________________________________________________________
vPathAppField = Textfeld, hier kommt der Feldname der IP-Adresse rein.
Nach Aufruf des Ganzen kommt folgende Fehlermeldung:
"Ungültige Verbindungsdatei " /v:10.156.4.51" angegeben"
Diese Fehlermeldung kommt auch nur bei manchen PCs.
Bei zwei Kollegen funktioniert das ganze ohne Probleme. Wiederum bei einem anderen Kollegen und mir kommt diese Fehlermeldung.
Ich bitte um Tipps / Verbesserungen / Lösungsmöglichkeiten.
Schon mal vielen Dank im Voraus !
-
Was steht denn in tmpval so drinnen? Lass Dir das mal ausgeben ...
-
Hatte vorher noch die ganzen "Kontrolle"-Prompts rausgenommen und da die Zuweisung von vPath auf tmpval rausgelöscht :)
Sonst könnte es definitiv nicht funktionieren :)
Des gehört natürlich noch in Zeile 3 rein "tmpval := @If(vPath != "";vPath; "");"
Funktioniert leider trotzdem nicht.
Lässt man aber dies hier weg "" /v:" + tmpvalWert", heißt er übergibt keine Parameter und IP-Adresse, dann startet der die Remotedesktopverbindung ordnungsgemäß.
-
Ich vermute, du hast irgendwo zu viele Anführungszeichen. (s. Hilfe zu mstsc)
Führt man ein mstsc " /v:10.156.4.51" aus, kommt es zu dem besagten Fehler.
-
Korrekt, aber die beiden Anführungszeichen kennzeichen ja den String.
Wenn man sich des ganze vorher zusammenbaut stimmt die Ausgabe.
Die Fehlermeldung kommt trotzdem.
Das komische ist ja auch, dass bei 2 Kollegen funktioniert und bei wiederum 2 anderen nicht.
-
Was passiert wenn du den String vorher zusammenbaust?
-
Fehlermeldung ist die gleiche, das Verhalten ist ebenfall das gleiche.
Ich hab dann halt die Möglichkeit mir die Variable einmal Probeweise ausgeben zulassen. Und diese passt eigentlich....
-
u.U. setzt der Client automatisch Anführungszeichen um den Parameter, wenn dieser Leerzeichen enthält.
Probier mal:
@Command( [Execute] ;tmpval + " /v:" + tmpvalWert)
also das Ganze als einen String ohne Parameter zu übergeben...
-
Hat leider alles nicht funktioniert.
Haben alles möglich ausprobiert. Über Formelsprache gestaltet es sich anscheinend recht schwierig.
Haben es nun über Lotusscript umgesetzt:
""""""""""""""""""""""""""""""""""""""""""""""
Sub Initialize
Dim s As New NotesSession
Dim doc As NotesDocument
Dim result As integer
Set doc = s.Documentcontext
result = Shell("mstsc.exe /v:" & doc.fdCommonCategories(0))
End Sub
""""""""""""""""""""""""""""""""""""""""""""""