Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Isa am 18.05.03 - 17:53:03

Titel: Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: Isa am 18.05.03 - 17:53:03
Ich muss in einem Agent die Verbindung zu einem Filesystem auf einem AS/400 aufbauen.

Im DOS-Prompt sieht das so aus:
net use x: \\servername\laufwerk passwort /USER:username

Nun versuche ich seit Tagen  :o das via Lotussscript aus dem Agenten auszuführen.

1. Ich habe einen Batch geschrieben, der den Code enthält. Wird der Batch manuell aufgerufen, so funktioniert er auch. Wird der Batch aus LotusScript aufgerufen, gibt's nur noch Fehlermeldungen: 1312 auf der Domino Konsole (im Log steht dann nur noch "Path not found")

2. Habe den Code direkt aus LotusScript aufgerufen (mittels Shell("net use ..."). Ebenfalls nur noch Fehlermeldungen.

HILFE !!! Das ganze Projekt steht still, weil dieser Mist nicht funktioniert!!!

Gruss,
Isa - wie immer am Sonntag am Arbeiten
Titel: Re:Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: eknori (retired) am 18.05.03 - 18:19:07
Damit solltest du es hinbekommen:

':

Private Type NETRESOURCE
   dwScope As Long
   dwType As Long
   dwDisplayType As Long
   dwUsage As Long
   lpLocalName As String
   lpRemoteName As String
   lpComment As String
   lpProvider As String
End Type

Const RESOURCETYPE_DISK = &H1

Dim NetzResource As NETRESOURCE
Dim UserName As String
Dim UserPasswort As String

Declare Function NetzLaufwerkAn Lib "mpr.dll" Alias  "WNetAddConnection2A" (lpNetResource As NETRESOURCE,   Byval lpPassword As String, Byval lpUserName As String   , Byval dwFlags As Long) As Long
Declare Function NetzLaufwerkAus Lib "mpr.dll" Alias  "WNetCancelConnection2A" (Byval lpName As String,   Byval dwFlags As Long, Byval fForce As Long) As Long

Sub Click(Source As Button)
   Dim Ergebnis As Long    
 'R1=Rechnername, c_anette=Name des zuzuweisenden Laufwerks
   NetzResource.lpRemoteName = "\\Developer\d$"
   
  'z: ist der neue Laufwerksname (gegebenfalls ändern)
   NetzResource.lpLocalName = "z:"
   
  'Username & Passwort (anhängig vom Freigabestatus des LW)
  'Inhalt ist bestenfalls egal
   UserName = "Administrator"
   UserPasswort = "passwort"
   
   NetzResource.dwType = RESOURCETYPE_DISK
   
   
   Ergebnis = NetzLaufwerkAn(NetzResource, UserName, UserPasswort, 0)
   
   If Ergebnis = 0 Then
      Msgbox "Verbunden."
   Else
      Msgbox "Verbindung nicht möglich."
   End If
End Sub

eknori
Titel: Re:Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: Isa am 18.05.03 - 20:01:01
Vielen Dank für den Tip, sieht ja schwer kompliziert aus...

Leider will das bei nicht so recht... kriege nur "verbindung nicht möglich".

ist dieses mpr.dll ein Standard-dll ?

Hat das Betriebssystem des Domino Servers einen Einfluss? (ist Win NT 4.0 mit Service Pack 5)

Dein Code ist für ein UI geschrieben (sub Click...). Bei mir muss das mutterseelenallein im Hintergrund laufen. Geht das?

Bin sehr froh über Deine Hilfe!

Gruss,
isa
Titel: Re:Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: Isa am 18.05.03 - 20:28:53
Update:
Ich habe den Befehl
Shell("net use z: \\server\laufwerk passwort /USER:username")

von unserem Domino Server auf einen normalen PC-Server (NT) getestet. Funktioniert.
Nur auf's AS/400 komme ich nicht.

ratlos...
Titel: Re:Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: eknori (retired) am 19.05.03 - 05:33:53
Hallo Isa;

yoo, OS ist schon OK ( der Code ist für NT ).

Um das für den Hintergrund "umzuschreiben" brauchst du einfach nur das MSGBOX Gedönse wegzulassen.
Habe das nur zum Testen eingebaut.

Was die Anmeldung angeht: Wenn ihr eine Domäne habt, erweitere den Anmeldenamen um den Domänennamen

( Domäne/Administrator ) Dann sollte es klappen.

Ulrich
Titel: Re:Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: Rob Green am 19.05.03 - 11:12:13
@eknori, nur am Rande; msgbox stört nicht imm Backend, da es sich wie ein print Befehl ins Log schreibt und im Frontend ne Meldung erzeugt. das managed LN in dem Falle selbst.
Titel: Und weils so schön ist hier noch ein paar Kommentare der Online Hilfe dazu
Beitrag von: Thomas Schulte am 19.05.03 - 19:15:28
findet man übrigens unter
"AS/400 platform differences in LotusScript"

Zitat:
File system differences
There are no drive letters on AS/400. If you use a path name containing a drive letter, LotusScript may return an error.
AS/400 uses the slash (/) character as the directory separator, while DOS/Windows use the backslash (\) character. LotusScript supports use of both the slash and backslash, with the following restrictions:
A Script compiled on any platform other than AS/400 or UNIX that uses a backslash in a path name string literal will not work on the AS/400.  
LotusScript cannot use file names (in contrast to path names) that contain the backslash character, because this character is always a path separator on other platforms.
Zitat Ende.

Also Ohne Backslashes und ohne Laufwerksbuchstaben arbeiten.

Thomas
Titel: Re:Dringend: Netzanbindung via Lotusscript und "net use"
Beitrag von: eknori (retired) am 19.05.03 - 19:30:14
@Isa:

nochmal nachgefragt, WAS willst du denn von der AS/400 holen ??
Hast du keine Möglichkeit, die Daten direkt aus der Datei der entsprechende Bibliothek abzugréifen ?? ( hätte dann eine Lösung )
Kann ja auch ne tmp sein.

eknori