Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: dkammer am 06.02.14 - 15:44:26

Titel: Agent der RDP startet und die IP-Adresse übergibt
Beitrag 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 !
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: m3 am 06.02.14 - 17:22:23
Was steht denn in tmpval so drinnen? Lass Dir das mal ausgeben ...
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: dkammer am 07.02.14 - 06:46:47
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äß.
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: Tannibal am 07.02.14 - 09:59:16
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.
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: dkammer am 07.02.14 - 10:37:25
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.
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: Tannibal am 07.02.14 - 11:06:00
Was passiert wenn du den String vorher zusammenbaust?
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: dkammer am 07.02.14 - 11:07:27
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....
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: Tode am 07.02.14 - 14:24:39
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...
Titel: Re: Agent der RDP startet und die IP-Adresse übergibt
Beitrag von: dkammer am 18.02.14 - 09:59:08
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
""""""""""""""""""""""""""""""""""""""""""""""