Programm läuft als Dienst

  • hi,

    mein erstelltes Backup Programm läuft als Dienst. Nun habe ich ein Netzlaufwerk einbinden wollen, auf dem ein Ordner angelegt werden soll. Das Netzlaufwerk wird per LoginScript verbunden. Leider wird bei der Ausführung des Scripts das Netzlaufwerk nicht erkannt. Somit auch nicht der Ordner angelegt. Die Infos werden aus einer Ini geholt.

    Spoiler anzeigen
    [autoit]

    DirCreate(StringLeft(IniRead($file, "006", "8", "error"), 18) & $sNewDate)

    [/autoit]


    habe es auch versucht falls es nicht verbunden ist zuverbinden

    Spoiler anzeigen
    [autoit]

    If Not FileExists(StringLeft(IniRead($file, "006", "8", "error"), 3)) Then
    DriveMapAdd("T:", "\\Server\Backup")
    MsgBox(64, "Laufwerk", "Es wurde " & StringLeft(IniRead($file, "006", "8", "error"), 3) & " verbunden", 10)
    EndIf

    [/autoit]


    Auch dann geschieht nicht. Wenn das Script nicht als Dienst läuft dann wird der Ordner erstellt. Woran kanns liegen?

    Taucher[

    :P Streite nie mit einem Idioten
    Erst zieht er dich auf sein Niveau herunter und schlägt dich dort mit seiner Erfahrung :D

    2 Mal editiert, zuletzt von taucher_2006 (19. Januar 2008 um 14:10)

  • hi,

    Hacken war drin. Musste aber damit es läuft den Dienst expeziet dem Admin zuweisen dann gehts.
    Taucher

    :P Streite nie mit einem Idioten
    Erst zieht er dich auf sein Niveau herunter und schlägt dich dort mit seiner Erfahrung :D

  • Und was war die ursprüngliche Frage?
    Das würde ich gerne wissen.

    [OFFTOPIC]
    Kann man das nicht so einstellen, dass Startposts nur gelöscht werden können, solange keine Antwort vorhanden ist?
    [/OFFTOPIC]

  • Hallo Ihr da:

    ein Dienst läuft mit der Bentutzerkennung SYSTEM, da gibts keine Netzlaufwerke, genauso, wenn Du versuchst mit nem at 18:45 c:\uti\tuwas.bat laufen zu lasssen.

    Der Dienst kann sich aber ein Laufwerk mappen und wieder trennen, dazu kann man in einer INI einen Benutzer anlegen, daß Paßwort sollte man aber tunlichst verschlüsselt hinterlegen.
    (am besten einen Dienst User: Backup oder sonstwas nehmen, der das Paßwort nicht ändert).

    Deine Lösung läuft nicht mehr, wenn der Benutzer administrator sein Paßwort ändert, dann mußt Du es hier auch ändern (ist bei geplanten Tasks identisch).

    Bei weiterem Interesse kann ich gerne etwas Futter posten.

    Grüße

    German

  • hi,

    sorry hatte eine Browser Absturz. Wollte eigentlich nicht den ersten Beitrag löschen. Wie ist es denn nun richtig, damit wenn der Dienst läuft auch Netzlaufwerke benutzt werden können? Im Script war es ja schon so das das Laufwerk verbunden Sein muss. Habe es auch mal so versucht wie msp-holzwurm beschriebn hat. Leider möchte er sich dann aber nicht verbinden. Woran liegt es?

    Spoiler anzeigen
    [autoit]

    $file = "C:\Datensicherung\nav.zup"
    $user = _StringEncrypt(0, IniRead($file, "001", "3", "Nichts gefunden"), "pass", 1)
    $pw = _StringEncrypt(0, IniRead($file, "001", "4", "Nichts gefunden"), "pass", 1)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    DriveMapAdd(StringLeft(IniRead($file, "006", "8", "error"), 2), IniRead($file, "002", "3", "error"), 8, $user, $pw)
    IniWrite($file, "007", "1", "gestartet")
    Sleep(60000)
    DriveMapDel(StringLeft(IniRead($file, "006", "8", "error"), 2))
    IniWrite($file, "007", "1", "")
    Sleep(100)
    WEnd

    [/autoit]


    Wenn der Dienst einem anderen(admin) zugewiesen wird verbindet er zwar das LAufwerk aber die anderen Func gehen nicht. Wenn der Dienst als System läuft ist es umgekehrt.

    Taucher

    :P Streite nie mit einem Idioten
    Erst zieht er dich auf sein Niveau herunter und schlägt dich dort mit seiner Erfahrung :D