Führen Sie automatisch ein Skript aus, wenn ich mich bei Windows anmelde

Wie kann ich ein Skript automatisch ausführen, wenn ich mich bei Windows anmelde?

Ich möchte so etwas ausführen, wenn ich mich bei meinem Computer anmelde:

echo %USERNAME% logged on at %DATE% %TIME% >> log.txt

Ein Bonus wäre, dasselbe Skript ausführen zu können, wenn ich auch den Bildschirmschoner entsperre.

Author: Hallgrim, 2009-07-30

6 answers

Sie können eine geplante Aufgabe erstellen, die ausgeführt wird, wenn Ihr computer entsperrt ist:

  1. Start > Verwaltung > Taskplaner
  2. linker Bereich: Taskplaner-Bibliothek auswählen
  3. rechter Bereich: Klicken Sie auf Aufgabe erstellen... (HINWEIS: Nur so erhalten Sie den richtigen Trigger)
  4. ) im dialog Aufgabe Erstellen:
    • Registerkarte Allgemein - Geben Sie einen Namen für Ihre Aufgabe an
    • Registerkarte Trigger -- klicken Sie auf Neu... und wählen Sie Auf Workstation unlock
    • Registerkarte Aktion -- klicken Neu... und klicken Sie auf Durchsuchen... so finden Sie Ihr Skript
    • Registerkarte Bedingungen -- Deaktivieren Sie die Option Task nur starten, wenn der Computer mit Wechselstrom betrieben wird

Außerdem habe ich den Pfad im Skript optimiert, um

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
 23
Author: Jeff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-08 14:01:24

Wenn Sie bereits ein Skript haben:

So weisen Sie einem Benutzer oder einer Gruppe ein Anmeldeskript zu

  • Computerverwaltung öffnen.
  • Klicken Sie im Konsolenbaum auf Benutzer.

Wo? - System-Tools/Lokale Benutzer und Gruppen/Benutzer

  • Doppelklicken Sie auf den Benutzer, dem Sie ein Anmeldeskript zuweisen möchten.
  • Klicken Sie auf die Registerkarte "Profil".
  • Geben Sie im Feld Anmeldeskript den Pfad und den Namen des Anmeldeskriptes ein, das Sie diesem Benutzer zuweisen möchten, und OK.

Sonst ist hier ein handliches "HowTo" von Microsoft können

Erstellen von Anmeldeskripten

Sie können Anmeldeskripte verwenden, um Aufgaben zuzuweisen, die ausgeführt werden, wenn sich ein Benutzer bei einem bestimmten Computer anmeldet. Die Skripte können Betriebssystembefehle ausführen, Systemumgebungsvariablen festlegen und andere Skripte oder ausführbare Programme aufrufen. Die Windows Server 2003-Familie unterstützt zwei Skriptumgebungen: Der Befehlsprozessor führt Dateien aus, die Folgendes enthalten batch-Sprachbefehle und Windows Script Host (WSH) führt Dateien mit Microsoft Visual Basic Scripting Edition (VBScript) oder Jscript-Befehle. Sie können einen Texteditor verwenden, um Anmeldeskripte zu erstellen. Einige Aufgaben, die üblicherweise von Anmeldeskripten ausgeführt werden, umfassen:

  • Netzlaufwerke zuordnen.
  • Standarddrucker eines Benutzers installieren und einstellen.
  • Sammeln von Computersysteminformationen.
  • Virensignaturen aktualisieren.
  • Update-software.
  • Folgendes beispiel Anmeldeskript enthält VBScript-Befehle, die Active Directory verwenden
  • Service Interfaces (ADSI) zum Ausführen von drei gemeinsamen Aufgaben basierend auf der Gruppenmitgliedschaft eines Benutzers:

Es ordnet das Laufwerk H: dem Home-Verzeichnis des Benutzers zu, indem es die MapNetworkDrive-Methode des WSH-Netzwerkobjekts in Kombination mit der UserName-Eigenschaft des WSH-Netzwerkobjekts aufruft. Es verwendet das ADSI IADsADSystemInfo-Objekt, um den distinguished Name des aktuellen Benutzers abzurufen, mit dem wiederum eine Verbindung hergestellt wird das entsprechende Benutzerobjekt in Active Directory. Sobald die Verbindung hergestellt ist, wird die Liste der Gruppen, zu denen der Benutzer gehört, mithilfe des memberOf Attributs des Benutzers abgerufen. Die mehrwertige Liste der Gruppennamen wird mithilfe der Join-Funktion von VBScript zu einer einzigen Zeichenfolge verknüpft, um die Suche nach Zielgruppennamen zu erleichtern.

Wenn der aktuelle Benutzer Mitglied einer der drei oben im Skript definierten Gruppen ist, ordnet das Skript das Laufwerk G: des Benutzers der Gruppe zu freigegebenes Laufwerk und legt den Standarddrucker des Benutzers als Gruppendrucker fest. So erstellen Sie ein Beispiel-Anmeldeskript

  • Notizblock öffnen.
  • Kopieren und Einfügen oder geben Sie Folgendes ein:

    Const ENGINEERING_GROUP     = "cn=engineering"
    Const FINANCE_GROUP         = "cn=finance"
    Const HUMAN_RESOURCES_GROUP = "cn=human resources"
    
    Set wshNetwork = CreateObject("WScript.Network")
    wshNetwork.MapNetworkDrive "h:",
    "\\FileServer\Users\" & wshNetwork.UserName
    
    Set ADSysInfo = CreateObject("ADSystemInfo")
    Set CurrentUser = GetObject("LDAP://" &
    ADSysInfo.UserName)
    strGroups = LCase(Join(CurrentUser.MemberOf))
    
    If InStr(strGroups, ENGINEERING_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Engineering\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\EngLaser"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\Plotter"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\EngLaser"
    
    ElseIf InStr(strGroups, FINANCE_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Finance\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\FinLaser"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\FinLaser"
    
    ElseIf InStr(strGroups, HUMAN_RESOURCES_GROUP) Then
    
        wshNetwork.MapNetworkDrive "g:",
        "\\FileServer\Human Resources\"
        wshNetwork.AddWindowsPrinterConnection
        "\\PrintServer\HrLaser"
        wshNetWork.SetDefaultPrinter
        "\\PrintServer\HrLaser"
    
    End If
    
  • Klicken Sie im Menü Datei auf Speichern unter.

  • Klicken Sie unter Speichern in auf das Verzeichnis, das dem freigegebenen Netlogon-Ordner des Domänencontrollers entspricht (normalerweise SystemRoot\SYSVOL\Sysvol\DomainName\Scripts, wobei DomainName die vollständig qualifizierte Domäne der Domäne ist Name).
  • Klicken Sie unter Speichern unter auf Alle Dateien.
  • Geben Sie im Dateinamen einen Dateinamen ein, gefolgt von .vbs, und klicken Sie dann auf Speichern. WSH verwendet .vbs-Erweiterung zum Identifizieren von Dateien, die VBScript-Befehle enthalten.
 22
Author: Ivo Flipse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-06-25 20:21:39

Der einfachste Weg, den ich mir vorstellen kann, wäre, dies in a zu setzen .bat-Datei in Ihrem Startordner.

Eine kompliziertere Möglichkeit wäre, die Batch-Datei der Registrierung in der

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Registrierungsschlüssel.

 15
Author: Bruce McLeod,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-07-30 13:21:37

Eine gute alternative Methode besteht darin, eine Batchdatei mit den Befehlen zu erstellen, die Sie darin ausführen möchten. Als nächstes geben Sie im Richtlinieneditor auf dem Computer an, dass ein Anmeldeskript als Teil des Anmeldevorgangs ausgeführt wird. Eine kurze Anmerkung ist, dass diese Option nur auf XP Pro und nicht auf der Home-Version verfügbar ist.

Tutorial zum Gruppenrichtlinien-Editor Hier

 2
Author: Axxmasterr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-07-30 13:37:08

Weiß jemand, ob dies zum Ausführen verwendet werden kann, wenn der Bildschirm ebenfalls gesperrt/entsperrt ist?

Es gibt einen Weg für Windows 7 und / oder Windows Server 2008.

Verwenden Sie den Taskplaner, erstellen Sie eine neue grundlegende Aufgabe, da der Trigger "Wenn ich mich anmelde"verwendet.

 2
Author: Tomas Tintera,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-12-22 17:42:07

Keine Notwendigkeit! Windows hat bereits einen Mechanismus, um dies für Sie im Ereignisprotokoll zu protokollieren. Die Ereignis-ID ist 4624 (528 auf Pre-Vista-Systemen).

 2
Author: Aryeh Leib Taurog,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-01-06 09:53:34