Ausführen einer Batchdatei beim Abmelden

8

Ich habe eine Batch-Datei, die ein Verzeichnis erstellt H:\und alle meine CS-Arbeiten von I:\nach kopiert H:\(unser I:\Laufwerk ist nicht immer verfügbar). Gibt es eine Möglichkeit, diese Batchdatei möglicherweise beim Abmelden auszuführen, damit meine Dateien immer aktualisiert werden, OHNE zu verwenden gpedit.msc(Zugriff verweigert)?

Ich bin auf einem Studentencomputer, daher ist die Installation von Software höchstwahrscheinlich nicht praktisch, aber ich könnte es versuchen. Und Hilfe wäre sehr dankbar =)

Oder gibt es eine Möglichkeit, eine Batch-Datei auszuführen und die Befehle erst um 8:50 Uhr auszuführen, bevor die Glocke läutet, sodass ich sie einfach in den Startordner legen und sie zu diesem Zeitpunkt ausführen kann?

Ich dachte noch etwas darüber nach, und der einfachste Weg wäre, eine geplante Aufgabe um 8:50 Uhr für die Ausführung festzulegen. Aber es wäre trotzdem schön, wenn ich wüsste, wie man es in einer Batch-Datei macht. Ich habe keinen Zugriff auf die Befehle shutdown -l, und ich glaube nicht, dass dies sowieso helfen würde, da das Skript ausgeführt werden soll, wenn ich auf "Abmelden" klicke.

cutrightjm
quelle

Antworten:

5

Dies sollte den Trick tun. Als REG-Datei speichern und importieren, sofern dies nicht ebenfalls blockiert ist. Dadurch wird effektiv ein Abmeldeskripteintrag erstellt.

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts\Logoff\0\0]
"Script"="H:\your-script-here.bat"
"Parameters"=""
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00 ,00,00,00,00,00

Speichern Sie Ihr Skript, um die Kopie im Stammverzeichnis Ihres H: -Laufwerks zu erstellen.

Tim Brigham
quelle
1
Kann ich es verwenden, wenn auf meinem Betriebssystem ( Windows 7 Home Premium ) kein vorinstalliertes Betriebssystem installiert ist gpedit.msc?
user3133076
4

Eine andere ähnliche Option wie die von Tim Brigham bereits vorgeschlagenen besteht darin, den folgenden Text als .reg-Datei zu speichern:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Aktuelle Version \
Gruppenrichtlinie \ Skripte \ Abmelden \ 0] "GPO-ID" = "LocalGPO"
"SOM-ID" = "Lokal"
"FileSysPath" = "C: \ Windows \ System32 \ GroupPolicy \ User "
" DisplayName "=" Lokale Gruppenrichtlinie "
" GPOName "=" Lokale Gruppenrichtlinie "
" PSScriptOrder "= dword: 00000001

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Gruppenrichtlinie \ Skripte \ Abmelden \ 0 \ 0]
"Script" = "H: \ yourScriptFileName.bat"
"Parameters" = "
" IsPowershell "= dword: 00000000
" ExecTime " = hex (b): 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Dies ähnelt dem Ausführen mit dem Gruppenrichtlinien-Editor (gpedit.msc).

Oz Edri
quelle
1
Willkommen bei Super User! Sie haben eine großartige Antwort für einen neuen Benutzer, besser als viele andere, die ich gesehen habe. Wenn Sie Hilfe benötigen, folgen Sie der Tour und besuchen Sie die Hilfe . Wir wünschen Ihnen viel Spaß bei der Teilnahme an Stack Exchange !
bwDraco
@Oz (oder Tim-Brigham), das Hinzufügen eines Abmeldeskripts über ein REG IMPORT-Cmd scheint unter Windows 10 (Build 10240) nicht zu funktionieren, obwohl eine REG-Abfrage genau dieselben Daten anzeigt wie beim Erstellen des Abmeldeskripts über gpedit.msc. Ich habe einen Neustart durchgeführt, aber keinen Unterschied. Irgendwelche Ideen?
Atreyu
1
Ah ... nm. Ich habe es selbst gelöst, indem ich Regshot verwendet habe , um alle Änderungen an der Registrierung vor und nach der Verwendung gpedit.mscsowie vor allem zu verfolgen %WINDIR%\System32\GroupPolicy\User\Scripts\scripts.ini.
Atreyu
2

Sie können diese Zeile am Ende Ihrer Batch-Datei einfügen

shutdown -l

Dadurch werden Sie abgemeldet, sobald das Skript fertig ist

cwin
quelle
Ich weiß, dass dies ein später Kommentar ist, aber ich habe diesen Befehl nicht verwendet, weil A) ich keine Zugriffsrechte habe und b) ich nicht möchte, dass ein anderer Benutzer in der nächsten Unterrichtsstunde meinen Computer verwendet, wenn dies der Fall wäre dauern länger als gewöhnlich
cutrightjm
1

Ich bin nicht sicher, welche Windows-Version dieses Programm hinzugefügt hat, aber Sie können den waitforBefehl verwenden, um eine Batchdatei für 3.000 Sekunden (dh 50 Minuten) anzuhalten und dann mit Ihrem Kopierbefehl fortzufahren.

Es ist definitiv in Windows 7 verfügbar, mit ziemlicher Sicherheit in Vista und nicht in XP. Möglicherweise ist es jedoch in den Windows 2003 Resource Kit-Dienstprogrammen verfügbar, die zum Herunterladen verfügbar sind und unter XP ausgeführt werden.

Es gibt wahrscheinlich einige Batch-Tricks, mit denen ein Skript auch für eine bestimmte Zeit angehalten werden kann.

afrazier
quelle
1

Ich habe schließlich nur geplante Aufgaben verwendet und die Batch-Datei so eingestellt, dass sie um 8:50 Uhr ausgeführt wird. Das sollte funktionieren.

cutrightjm
quelle
-1

Start -> Ausführen und "gpedit.msc" eingeben

Unter Benutzerkonfiguration -> Windows-Einstellungen -> Skripte (Anmelden / Abmelden) können Sie Ihre Skripte hinzufügen

Layticia
quelle
Das OP erklärte ausdrücklich, dass der Zugang zu gpedit.mscverweigert wurde.
Afrazier
Ich habe diese Antwort positiv bewertet, um sicherzustellen, dass sie hier als Referenz bleibt. Ich weiß, es ist seltsam, eine Antwort zu geben, die das OP (speziell) nicht will. Aber es ist gut, dass es hier ist, IMO.
Shashank Sawant