Jump to content

ShareMapping VOR Login


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

@adimin:

Ich hoffe, das ich den richtigen Bereich gefunden habe, ansonsten bitte

kommentarlos verschieben

@all:

Ich möchte ein Laufwerk unter W2K3 Server mappen VOR Anmeldung.

Es handelt sich um eine Linuxshare. Über diese Freigabe findet ein Datenautausch statt (windowsseitig wird über HPOVMON eine ASCII-Datei erzeugt, die linuxseitig als SMS verschickt wird)

 

VBS-Script:

---

'*************************************************
'File:    HP-OV-SMS-map.vbs (WSH - VBScript)
'Author:  (c) T.A.Oeltjen
'Version: 1.1.1
'Date: 01.04.2008
'Date(LC): 29.04.2008
'Mapping network drive on linuxmachine
'some parts may be 'stolen' ;)
'*************************************************
Option Explicit
Dim objNetwork, FSO, strLocalDrive, strRemoteShare, strPer, strUsr, strPas, strTitle, strText
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
strLocalDrive = "S:"
strRemoteShare = "\\<servername>\<freigabe>\"
strPer = "FALSE"
strUsr = "********"
strPas = "********"

strTitle = "Ich bin der Titel"
strText = "Ich bin die Nachricht"


On Error Resume Next
'check if mapping exits - if yes disconnect
If FSO.FolderExists(strLocalDrive) Then
objNetwork.RemoveNetworkDrive strLocalDrive
ErrCheck Err.Number
'strTitle = "Achtung"
'strText = "Altes Mapping auf Lauwerk " & strLocalDrive & " wurde getrennt!"
'MsgBox strText, vbOKOnly + vbInformation, strTitle
End If

' Map drive
objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas
ErrCheck Err.Number
'strTitle = "Hinweis"
'strText = strRemoteShare & " wurde als Laufwerk " & strLocalDrive & " erfolgreich gemapped!"
'MsgBox strText, vbOKOnly + vbInformation, strTitle
'###################
' Show error.
Sub ErrCheck(nr)
   Select Case nr
       Case 0
           ' No error
       Case -2147024829
           WScript.Echo "Fehler: Freigabe nicht verfügbar!"
       Case -2147024811
           WScript.Echo "Fehler: Laufwerk bereits verbunden"
       Case Else
           WScript.Echo "Fehler: " & CStr(nr)
   End Select
End Sub

'*** End

---

 

Das Script läuft bei wie gewünscht, wenn ein User angemeldet ist.

 

Ich habe dieses Script nun erfolgreich als Dienst eingerichtet mit:

---

sc create MapLinuxShare binpath= c:\WINDOWS\system32\GroupPolicy\Machine\Scripts\Startup\HP-OV-SMS-map.vbs type= own start= auto depend= "dhcp"

---

 

Der Start diese Dienstes ist abhängig davon, das der DHCP-Client gestartet ist -> damit möchte ich sicherstellen, das die Netzwerkfunktionalität gewährleistet ist.

Leider startet der Dienst nicht so wie gewünscht ... ich hab nun mal ein bissel rumgespielt und folgende Fehlermeldung gefunden:

---

Der Dienst "MapLinuxShare" wurde aufgrund folgenden Fehlers nicht gestartet:

MapLinuxShare ist keine zulässige Win32-Anwendung.

---

Ich vermute, das zum Startzeitpunkt des Dienstes der WSH (Windows Scripting host) noch nicht aktiv ist, was allerdings 'Unsinn' ist, da ich denselben Eintrag im Systemlog erhalte, wenn ich den Dienst nach Windowsanmeldung händisch starte ...

Versuche ich explizit mit Cscript zu starten (ist eine Befehlszeile):

---

C:\Windows\system32\cscript.exe c:\WINDOWS\system32\GroupPolicy\Machine\Scripts\Startup\HP-OV-SMS-map.vbs

---

erhalte ich die Fehlermeldung 1053, das der Dienst nicht rechtzeitig auf die Startanforderung reagiert hat.

 

Was passt denn nicht? Das Script funktioniert - aber nicht wenn ich es als Dienst starte - das entzieht sich meiner Logik.

Der Dienst wird unter dem lokalen Systemaccount ausgeführt ...

 

Ich könnt ein paar Anregungen gebrauchen

Link zu diesem Kommentar

So wird das nicht klappen - ein Windows Dienst muss ein paar Anforderungen erfüllen damit das als Dienst klappt.

 

srvany.exe kann dir da helfen - oder aber du könntest auch via GPO ein Machine-Logonscript setzen. Aber auch da bin ich mir nicht sicher ob das mit dem Share klappt (evtl. falsche Session).

 

Ich würde den ganzen Ansatz nochmal gründlich überdenken.

Link zu diesem Kommentar
So wird das nicht klappen - ein Windows Dienst muss ein paar Anforderungen erfüllen damit das als Dienst klappt.

 

srvany.exe kann dir da helfen - oder aber du könntest auch via GPO ein Machine-Logonscript setzen. Aber auch da bin ich mir nicht sicher ob das mit dem Share klappt (evtl. falsche Session).

 

Ich würde den ganzen Ansatz nochmal gründlich überdenken.

 

srvany.exe ist imo durch sc.exe ersetzt worden/ersetzbar, da dieser die ganzen Registryeinträger etc macht ... ich kann mir das aber auch noch mal durchlesen.

 

Anderer Ansatz? Ist imo nicht möglich - parallel dazu beschäftigt sich ein Kollege damit, das Share von der anderen Seite her aufzubauen (Linux zu Windows), hier ist aber das Prob, das die Linuxkiste nicht im AD bekannt ist und auch nict reinsoll (ist aber nicht Gegenstandt meiner Frage) - was für Ansätze seht ihr denn noch? Ich hab gerade Scheuklappen.

Link zu diesem Kommentar
srvany.exe ist imo durch sc.exe ersetzt worden/ersetzbar, da dieser die ganzen Registryeinträger etc macht ... ich kann mir das aber auch noch mal durchlesen.

 

Nicht ganz! srvany.exe ist auch ein Wrapper um jegliche Programme als Service laufen zu lassen- sc.exe kann nur Registryeinträge für Services erstellen.

 

Anderer Ansatz? Ist imo nicht möglich - parallel dazu beschäftigt sich ein Kollege damit, das Share von der anderen Seite her aufzubauen (Linux zu Windows), hier ist aber das Prob, das die Linuxkiste nicht im AD bekannt ist und auch nict reinsoll (ist aber nicht Gegenstandt meiner Frage) - was für Ansätze seht ihr denn noch? Ich hab gerade Scheuklappen.

 

FTP von Windows zu Linux? Lässt sich hervorragend scripten. Mit Tools wie SurgeFTP -- Unix/Windows Ftp Server Software ist das ganze dann auch noch sicher.

Link zu diesem Kommentar

FTP geht nicht, in diesem Fall. Sollten wir aber nicht weiterkommen, werd ich das mal aufgreifen und zur Diskussion stellen - oder ssh nehmen ...

 

Das mit instsrv und srvany und sc hab ich jetzt durchgelesen (hab endlich mal ne gescheite Anleitung gefunden). Es geht jetzt zwar garnix - aber ich hab immerhin keine Fehlermeldungen mehr :( ... wenn ich den Dienst händisch starte

Link zu diesem Kommentar
...oder aber du könntest auch via GPO ein Machine-Logonscript setzen. Aber auch da bin ich mir nicht sicher ob das mit dem Share klappt (evtl. falsche Session).

Klappt auch mit einem Share. Das verbundene Laufwerk steht dann natürlich allen Usern zur Verfügung und kann von den Usern nicht getrennt werden. Allerdings gibt es da einen kosmetischen Fehler: Laufwerke, die über ein Startskript gemappt werden, werden als "nichtverbundenes Laufwerk" angezeigt, obwohl der Zugriff problemlos funktioniert.

 

(Aber eigentlich ist es ein Logon-Skript (User) oder ein Startup-Skript (Computer).)

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...