Win7 Aufgabenplaner Logon mountvol lokale Laufwerke ein-aus-blenden
Hallo zusammen,
nach sicher 10+ Stunden herumprobieren und Ausprobieren aller Netzfunde lande ich nun hier.
Ausgangsituation
PC mit Win7 Prof SP1 und den lokalen Laufwerken C: D: und S: und ZENTRALE als Name
lokaler Benutzer A (BA) mit Adminrechten und Mitglied der Administratoren-Gruppe
lokaler Benutzer K (BK) ohne Adminrechte
lokaler Benutzer P (BP) ohne Adminrechte
Mountvol.exe in version 6.1.7600 16385
Aufgabenplaner in version 1.3
Benutzerkontensteuerung ist AUS
Aufgabe
Wenn sich BP anmeldet (Logon), dann sollen die Laufwerke D: und S: ausgeblendet werden.
Wenn sich BA oder BK anmeldet, dann soll die Laufwerke D: und S: eingeblendet werden.
Laufwerk C: ist immer sichtbar.
Dazu wurden 2 Skripte erstellt, die mittlerweile so aussehen:
timeout /t 2
echo on
c:\Skripts\mountvol.exe D: /d
c:\Skripts\mountvol.exe S: /d
pause
bzw.
echo on
timeout /t 2
c:\Skripts\mountvol.exe D: \\?\Volume{e08d997e-33fb-11e1-92b0-4439c43d77584}\
c:\Skripts\mountvol.exe S: \\?\Volume{d0de6e41-e94c-4ae2-bb72-772bf30dc5f55}\
pause
Die Befehle PAUSE, ECHO und TIMEOUT wurden nur zum Troubleshooting gewählt, um zu erleben was abgeht und um Timing Geschichten auszuschliessen.
Alle Benutzer BP, BA und BK haben volle Zugriffsrechte auf das Verzeichnis C:\Skripts als auch auf alle .BAT Dateien als auch auf C:\Skripts\mountvol.exe. Es wurden auch schon Verknüpfungen erstellt für diese .BAT Dateien und diese mit "als Administrator ausführen" geflagged und in die jeweiligen Autostart Verzeichnisse abgelegt. Das Ergebnis war, dass bei BA das CMD Fenster aufging und man das erfolgreiche Ausführen des Ablaufs beobachten konnte. Bei BP und BK ging kein Fenster auf und es passierte auch nichts.
Rief man die .BAT bei BP und BK einfach auf, kam bei den mountvol Zeilen erwartungsgemäss das "Zugriff verweigert". Rief man die .BAT "als Administrator" auf, kam erstens keine Abfrage das Admin-Zuganges und damit auch logischerweise "Zugriff verweigert".
Davor habe ich natürlich versucht, das Ganze mit dem Aufgabenplaner abzubilden und war dabei aber nur teilweise erfolgreich. D.h. es hat das Anmelden BP, Abmelden und Anmelden BK, Abmelden und Anmelden BP, Abmelden und Anmelden BA, usw. mit dem korrekten Laufwerkmapping ca. 2-4 mal funktioniert. Jedoch - meistens nach 1 oder 2 Neustarts ging es dann plötzlich nicht mehr, also nicht mehr ab und zu sondern gar nix mehr.
Im Aufgabenplaner als BA haben die Aufgaben bei manueller Ausführung IMMER funktioniert. Natürlich wurden die Aufgaben so definiert, dass sie als BA ausgeführt werden.
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2021-05-09T21:11:35.5263318</Date>
<Author>zentrale\BA</Author>
<Description>show volume D and S</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>ZENTRALE\BA</UserId>
</LogonTrigger>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>ZENTRALE\BK</UserId>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<RunLevel>HighestAvailable</RunLevel>
<UserId>zentrale\BA</UserId>
<LogonType>Password</LogonType>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>timeout</Command>
<Arguments>/t 2</Arguments>
</Exec>
<Exec>
<Command>C:\Skripts\show_d_s.bat</Command>
<WorkingDirectory>c:\Skripts\</WorkingDirectory>
</Exec>
</Actions>
</Task>
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2021-05-09T21:09:11.5610975</Date>
<Author>zentrale\BA</Author>
<Description>removes volumes D and S</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>ZENTRALE\BP</UserId>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<RunLevel>HighestAvailable</RunLevel>
<UserId>ZENTRALE\BA</UserId>
<LogonType>Password</LogonType>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>timeout</Command>
<Arguments>/t 2</Arguments>
</Exec>
<Exec>
<Command>c:\Skripts\remove_d_s.bat</Command>
<WorkingDirectory>c:\Skripts\</WorkingDirectory>
</Exec>
</Actions>
</T
Natürlich waren beim Aufgabenplaner keine PAUSE Befehle definiert bzw. in der BAT.
Wo ist denn hier der Denkfehler? Danke für etwas neuen Input.
Lino
nach sicher 10+ Stunden herumprobieren und Ausprobieren aller Netzfunde lande ich nun hier.
Ausgangsituation
PC mit Win7 Prof SP1 und den lokalen Laufwerken C: D: und S: und ZENTRALE als Name
lokaler Benutzer A (BA) mit Adminrechten und Mitglied der Administratoren-Gruppe
lokaler Benutzer K (BK) ohne Adminrechte
lokaler Benutzer P (BP) ohne Adminrechte
Mountvol.exe in version 6.1.7600 16385
Aufgabenplaner in version 1.3
Benutzerkontensteuerung ist AUS
Aufgabe
Wenn sich BP anmeldet (Logon), dann sollen die Laufwerke D: und S: ausgeblendet werden.
Wenn sich BA oder BK anmeldet, dann soll die Laufwerke D: und S: eingeblendet werden.
Laufwerk C: ist immer sichtbar.
Dazu wurden 2 Skripte erstellt, die mittlerweile so aussehen:
timeout /t 2
echo on
c:\Skripts\mountvol.exe D: /d
c:\Skripts\mountvol.exe S: /d
pause
bzw.
echo on
timeout /t 2
c:\Skripts\mountvol.exe D: \\?\Volume{e08d997e-33fb-11e1-92b0-4439c43d77584}\
c:\Skripts\mountvol.exe S: \\?\Volume{d0de6e41-e94c-4ae2-bb72-772bf30dc5f55}\
pause
Die Befehle PAUSE, ECHO und TIMEOUT wurden nur zum Troubleshooting gewählt, um zu erleben was abgeht und um Timing Geschichten auszuschliessen.
Alle Benutzer BP, BA und BK haben volle Zugriffsrechte auf das Verzeichnis C:\Skripts als auch auf alle .BAT Dateien als auch auf C:\Skripts\mountvol.exe. Es wurden auch schon Verknüpfungen erstellt für diese .BAT Dateien und diese mit "als Administrator ausführen" geflagged und in die jeweiligen Autostart Verzeichnisse abgelegt. Das Ergebnis war, dass bei BA das CMD Fenster aufging und man das erfolgreiche Ausführen des Ablaufs beobachten konnte. Bei BP und BK ging kein Fenster auf und es passierte auch nichts.
Rief man die .BAT bei BP und BK einfach auf, kam bei den mountvol Zeilen erwartungsgemäss das "Zugriff verweigert". Rief man die .BAT "als Administrator" auf, kam erstens keine Abfrage das Admin-Zuganges und damit auch logischerweise "Zugriff verweigert".
Davor habe ich natürlich versucht, das Ganze mit dem Aufgabenplaner abzubilden und war dabei aber nur teilweise erfolgreich. D.h. es hat das Anmelden BP, Abmelden und Anmelden BK, Abmelden und Anmelden BP, Abmelden und Anmelden BA, usw. mit dem korrekten Laufwerkmapping ca. 2-4 mal funktioniert. Jedoch - meistens nach 1 oder 2 Neustarts ging es dann plötzlich nicht mehr, also nicht mehr ab und zu sondern gar nix mehr.
Im Aufgabenplaner als BA haben die Aufgaben bei manueller Ausführung IMMER funktioniert. Natürlich wurden die Aufgaben so definiert, dass sie als BA ausgeführt werden.
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2021-05-09T21:11:35.5263318</Date>
<Author>zentrale\BA</Author>
<Description>show volume D and S</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>ZENTRALE\BA</UserId>
</LogonTrigger>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>ZENTRALE\BK</UserId>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<RunLevel>HighestAvailable</RunLevel>
<UserId>zentrale\BA</UserId>
<LogonType>Password</LogonType>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>timeout</Command>
<Arguments>/t 2</Arguments>
</Exec>
<Exec>
<Command>C:\Skripts\show_d_s.bat</Command>
<WorkingDirectory>c:\Skripts\</WorkingDirectory>
</Exec>
</Actions>
</Task>
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2021-05-09T21:09:11.5610975</Date>
<Author>zentrale\BA</Author>
<Description>removes volumes D and S</Description>
</RegistrationInfo>
<Triggers>
<LogonTrigger>
<Enabled>true</Enabled>
<UserId>ZENTRALE\BP</UserId>
</LogonTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<RunLevel>HighestAvailable</RunLevel>
<UserId>ZENTRALE\BA</UserId>
<LogonType>Password</LogonType>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>timeout</Command>
<Arguments>/t 2</Arguments>
</Exec>
<Exec>
<Command>c:\Skripts\remove_d_s.bat</Command>
<WorkingDirectory>c:\Skripts\</WorkingDirectory>
</Exec>
</Actions>
</T
Natürlich waren beim Aufgabenplaner keine PAUSE Befehle definiert bzw. in der BAT.
Wo ist denn hier der Denkfehler? Danke für etwas neuen Input.
Lino
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 667252
Url: https://administrator.de/contentid/667252
Ausgedruckt am: 11.12.2024 um 21:12 Uhr
2 Kommentare
Neuester Kommentar
sowas wird normalerweise per GPO geregelt und nur für lokale Laufwerke anwendbar, nicht für solche die per Subst erzeugt wurden.
https://docs.microsoft.com/de-de/troubleshoot/windows-client/group-polic ...
Wenn der PC nicht in der Domäne ist muß man die passenden Registrykeys pro User setzen... bzw per Loginskript in HKCU reinschreiben.
https://docs.microsoft.com/de-de/troubleshoot/windows-client/group-polic ...
Wenn der PC nicht in der Domäne ist muß man die passenden Registrykeys pro User setzen... bzw per Loginskript in HKCU reinschreiben.