Auf Netzwerklaufwerk zugreifen, ohne neu zu mappen.

  • Hallo,

    Ich habe ein Script geschrieben das über SFTP die Konfiguration von einem pfSense Router/Firewall sichert.

    Dieses Script soll täglich ausgeführt werden und die Config auf ein Netzwerklaufwerk legen. Dies funktioniert auch einwandfrei, wenn das Script normal gestartet wird.

    Da ich allerdings das Script als geplanten Task ausführen will, habe ich ein Problem. Wenn ich den Task mit System User laufen lasse, hat das Script keine Berechtigung auf das Netzwerklaufwerk zu schreiben.

    Ich kann DriveMapAdd nicht verwenden, da das Laufwerk auf dem Computer schon verbunden ist und von einer anderen Software verwendet wird (das Netzwerklaufwerk verbindet sich mit einem NAS4Free und dort werden alle Backups gelagert). Das vorhande Netzwerklaufwerk darf also auch nicht getrennt und neu verbunden werden.

    Ich habe schon versucht, den Task mit anderem User laufen zu lassen, aber das funktioniert nicht. (Fehlermeldung: "Diese Aufgabe erfordert, dass das angegebene Benutzerkonto über die Rechte "Anmelden als Stapelverarbeitungsauftrag" verfügt. Weitere Informationen zum Festlegen dieser Richtlinie finden Sie im Thema zum Aufgabensicherheitskontext in der Hilfe.")

    Was kann ich da tun? Wenn ich einen UNC Pfad verwende ("\\computername\freigabe\") geht es nicht, da es versucht sich mit dem System User anzumelden. Kann ich einen UNC Pfad mit alternativer Authentifizierung verwenden?

    Einmal editiert, zuletzt von thedoginthewok (16. September 2013 um 16:55)

  • RunAs habe ich noch nicht versucht. Probier ich gleich aus.

    Den Link habe ich vorhin auch bei Google gefunden, aber der Threadersteller dort ist dann auf DriveMapAdd zurückgewichen und hat sein Problem anders gelöst.

    edit:
    Ich bin mir nicht sicher ob ich es richtig gemacht habe, aber mit RunAs funktioniert es nicht.

    edit2:

    Ich habe es nun doch noch hingekriegt:

    [autoit]

    RunAs("****", "****", "****", 2, @ComSpec & ' /c ' & 'copy ' & $filename & ' "\\server\freigabe"', "C:\ordner")

    [/autoit]

    Ich habe das einfach an das Ende des Scripts hinzugefügt. Erst bilde ich die Backup datei temporär auf der lokalen Platte (kein Problem, da es sich um weniger als 100KByte handelt) und danach kopiere ich es aufs Netzwerklaufwerk und lösche die Datei von der lokalen Platte.

    2 Mal editiert, zuletzt von thedoginthewok (16. September 2013 um 16:54)

  • net use funktioniert nicht wenn man bereits ein Netzwerklaufwerk vom gleichen Server verbunden hat.

    Ich habe jetzt als einfache Lösung ein "Mini Script" was mit RunAs mein Script aufruft.

    Dadurch kann ich in meinem Script UNC Pfade mit anderem User aufrufen.