aubanan
Goto Top

CMD script findet USB Laufwerk nicht

Hallo zusammen,

auf einem Windows 10 (VM auf proxmox) läuft regelmäßig ein cmd script, um Dateien auf eine angeschlossene USB SSD (Samsung T5) zu kopieren.

Wenn das script von der Aufgabenplanung gestartet wird, ist das Laufwerk teilweise nicht erreichbar.

Wird das script manuell gestartet, oder der Task in der Aufgabenplanung manuell gestartet, läuft es problemlos. Es scheint, als ob das Laufwerk im Ruhemodus ist oder ähnlich.

Nach einem fehlgeschlagenen automatisch gestarteten Task, melde ich mich (remote) am System an und starte den Task manuell und es läuft sauber durch. Ohne etwas geändert zu haben.

Selbst wenn ein Powermanagement greift, müsste es doch durch den Zugriff wieder reaktiviert werden.
Wo ist der Unterschied zwischen Start durch Aufgabenplanung und manuellem Anstoßen, der das Laufwerk nicht finden lässt?

Danke und Gruß

Content-Key: 73804840508

Url: https://administrator.de/contentid/73804840508

Printed on: April 28, 2024 at 08:04 o'clock

Member: beidermachtvongreyscull
beidermachtvongreyscull Sep 10, 2023 at 15:11:24 (UTC)
Goto Top
Hallo,
Du würdest besser tun, wenn Du Deinen Script-Code mal hier postest.
Gruß
Member: mayho33
mayho33 Sep 10, 2023 updated at 20:44:25 (UTC)
Goto Top
Hi

Der Unterschied zwischen Tasklaner und manuellem Start ist folgender:

  • Manuelle gestartet bedeutet ein Benutzer ist angemeldet unter dem das Script läuft. Alle Netzlaufwerke sind gemappt.

  • Ein Task kann auch ohne User laufen, dann muss er aber als SYSTEM laufen. SYSTEM hat kein eigenes Profil. Darum wird auch nicht automatisch ein Laufwerk gemappt. Es ist also unter Umständen nicht vorhanden zur Laufzeit.

Prüfe das mal wie die Settings sind und was genau das Script macht.

Edit:
Schaue dir meinen Post in diesem Link an. Da habe ich es ausführlich geschildert:
Aufgabenplanung Backup
Member: Aubanan
Aubanan Sep 13, 2023 at 11:48:11 (UTC)
Goto Top
Hallo und danke für die Antworten,

neben dem wöchentlichen Copy script läuft auch zeitlich dazwischen ein Check script, welches prüft, ob ein USB Laufwerk angeschlossen ist.

if not exist E:\Backup md E:\Backup
if not exist E:\Backup goto Email

Auch dieses findet oft das Laufwerk nicht.
Melde ich mich als lokaler Admin an, ist das Laufwerk vorhanden und die beiden scripte funktionieren korrekt.
Die scripte laufen im Taskplaner unter dem selben lokalen Admin Konto.

Das USB Laufwerk wird wöchentlich durch ein anderes ersetzt (baugleich und gleicher LW Buchstabe)
Auch ein reboot (Task) 15 Min vor Ausführung des Tasks hilft nicht.
Member: Aubanan
Aubanan Sep 20, 2023 at 17:11:44 (UTC)
Goto Top
Was mir noch einfällt: Das Laufwerk ist mit Bitlocker verschlüsselt.
Ob es damit zusammen hängt, dass das Laufwerk nicht gefunden wird?
Passwort ist für den User (der auch im Taskplaner hinterlegt ist) gespeichert.
Member: mayho33
mayho33 Sep 20, 2023 updated at 20:15:27 (UTC)
Goto Top
Zitat von @Aubanan:
neben dem wöchentlichen Copy script läuft auch zeitlich dazwischen ein Check script, welches prüft, ob ein USB Laufwerk angeschlossen ist.

if not exist E:\Backup md E:\Backup
if not exist E:\Backup goto Email
Und wie stellst du sicher, dass das USB-Laufwerk immer mit E:\ eingebunden wird?? Was machst du, wenn ein Uer ein Netzlaufwerk mit E:\ eingebunden hat?

Das Script ist wirklich nicht schlagfest 😉😉

Versuche folgendes:
(Get-WmiObject Win32_Volume -Filter "DriveType='2'").Name  
#Result = dein DriveLetter

Get-WmiObject Win32_Volume -Filter "DriveType='2'" | select *  
#Result = Alle Properties die diese Class hat
Und wenn du es total granular auslesen willst, kannst du dich ein wenig damit spielen:
Stackoverflow - Get the drive letter of USB drive in PowerShell

Melde ich mich als lokaler Admin an, ist das Laufwerk vorhanden und die beiden scripte funktionieren korrekt.
Ich vermute mal, weil es halt in deinem Kontext genau passt. 😉

Interessant wäre halt wie du den Task aufgebaut hast uns was dein Script so ungefähr macht (snippeds ??). Ohne das zu wissen wird es echt mühsam.

Das USB Laufwerk wird wöchentlich durch ein anderes ersetzt (baugleich und gleicher LW Buchstabe)
Auch ein reboot (Task) 15 Min vor Ausführung des Tasks hilft nicht.
Na dann wird der Scheduled Task nicht passen.

Was mir noch einfällt: Das Laufwerk ist mit Bitlocker verschlüsselt.
Ob es damit zusammen hängt, dass das Laufwerk nicht gefunden wird?
Passwort ist für den User (der auch im Taskplaner hinterlegt ist) gespeichert.

Das USB-Laufwerk ist mit Bitlocker verschlüsselt. OK! Und der Key ist jetzt ein Machine-Key oder ein User-Key? Ein USB-Drive kann ja jeder User selbst verschlüsseln. Der Key liegt dann im HKCU bzw. %APPDATA%. Bedeutet du musst den Ordner im User-Kontext erstellen. Das ist für mich jetzt nicht ganz eindeutig.
Member: Aubanan
Aubanan Sep 21, 2023, updated at Sep 25, 2023 at 00:17:15 (UTC)
Goto Top
Hallo und Danke für die Antwort.
Zitat von @mayho33:
Und wie stellst du sicher, dass das USB-Laufwerk immer mit E:\ eingebunden wird
Der Problematik von wechselnden oder belegten LW Buchstaben bin ich mir bewusst.
Alle (4) Medien wurden unter dem Konto des lokalen Admins (ladmin) bereits mit dem System verbunden und verbinden sich mit dem LW Buchstaben E: Das ist aus meiner Sicht hier nicht das Problem. Es meldet sich niemand sonst an dem System an. Netzlaufwerke etc gibt es hie keine.

Zum Test habe ich ein kurzes Script erstellt und es wird per Taskplaner ausgeführt:
manage-bde -status
liefert:
Schutzstatus: Der Schutz ist aktiviert.
Sperrungsstatus: Entsperrt
ID-Feld: Unbekannt
Automatische Entsperrung: Aktiviert
Laufwerk E: ist da und Bitlocker entsperrt:
Es sieht so aus, dass Bitlocker nach einer gewissen Zeit (wenn der user nicht mehr angemeldet / aktiv ist) das Laufwerk wieder sperrt.

Lässt sich das Sperren verhindern bzw. ist es möglich den Bitlocker per CMD zu entsperren ohne Interaktion?