2009-07-30 13:20:35 +0000 2009-07-30 13:20:35 +0000
27
27

Automatisch een script uitvoeren als ik me aanmeld bij Windows

Hoe kan ik automatisch een script laten lopen als ik inlog op Windows?

Ik zou zoiets als dit willen laten draaien als ik inlog op mijn computer:

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

Een bonus zou zijn om hetzelfde script ook te kunnen uitvoeren als ik de screensaver ontgrendel.

Antwoorden (6)

22
22
22
2009-07-30 13:36:28 +0000

Als u al een script hebt:

Om een aanmeldscript aan een gebruiker of groep toe te wijzen

  • Open Computerbeheer.
  • Klik in de consolestructuur op Gebruikers.

Waar? Systeemhulpprogramma’s/Lokale gebruikers en groepen/gebruikers

  • Dubbelklik op de gebruiker aan wie u een aanmeldscript wilt toewijzen.
  • Klik op het tabblad Profiel.
  • Geef in het veld Aanmeldscript het pad en de naam op van het aanmeldscript dat je aan die gebruiker wilt toewijzen, en klik dan op OK. Anders is hier een handige “HowTo” van Microsoft

Aanmeldscripts maken

U kunt aanmeldscripts gebruiken om taken toe te wijzen die uitgevoerd moeten worden als een gebruiker zich aanmeldt op een bepaalde computer. De scripts kunnen opdrachten van het besturingssysteem uitvoeren, systeemomgevingsvariabelen instellen en andere scripts of uitvoerbare programma’s aanroepen. De Windows Server 2003-familie ondersteunt twee scriptomgevingen: de opdrachtprocessor voert bestanden uit met opdrachten in batch-taal, en Windows Script Host (WSH) voert bestanden uit met opdrachten in Microsoft Visual Basic Scripting Edition (VBScript) of Jscript. U kunt een teksteditor gebruiken om aanmeldingsscripts te maken. Enkele taken die vaak worden uitgevoerd door logon scripts omvatten:

  • In kaart brengen van netwerkstations.
  • Installeren en instellen van de standaardprinter van een gebruiker. 0x2 & - Verzamelen computersysteem informatie.
  • Updaten virus handtekeningen.
  • Software bijwerken.
  • Het volgende voorbeeld logon script bevat VBScript commando’s die Active Directory
  • Service Interfaces (ADSI) gebruiken om drie veelvoorkomende taken uit te voeren op basis van het groepslidmaatschap van een gebruiker:

Het mapt de H: drive naar de home directory van de gebruiker door het aanroepen van de WSH Network object’s MapNetworkDrive methode in combinatie met de WSH Network object’s UserName eigenschap. Het gebruikt het ADSI IADsADSystemInfo-object om de voorname naam van de huidige gebruiker te verkrijgen, die op zijn beurt wordt gebruikt om verbinding te maken met het overeenkomstige gebruikersobject in Active Directory. Zodra de verbinding tot stand is gebracht, wordt de lijst van groepen waarvan de gebruiker lid is, opgehaald met behulp van het kenmerk memberOf van de gebruiker. De meervoudige lijst van groepsnamen wordt samengevoegd tot een enkele string door gebruik te maken van VBScript’s Join functie om het zoeken naar doelgroepsnamen te vergemakkelijken.

Als de huidige gebruiker lid is van een van de drie groepen die bovenaan het script gedefinieerd zijn, dan wijst het script de G: schijf van de gebruiker toe aan de gedeelde schijf van de groep, en stelt de standaardprinter van de gebruiker in op de printer van de groep. Om een voorbeeld inlogscript te maken

  • Open Notepad.
  • Kopieer en plak, of typ, het volgende:

  • Klik in het menu Bestand op Opslaan als.

  • Klik in Opslaan als op de map die overeenkomt met de gedeelde Netlogon-map van de domeincontroller (meestal SystemRoot\SYSVOL\Sysvol\DomainNameScripts, waarbij DomainName de volledig gekwalificeerde domeinnaam van het domein is).

  • Bij Opslaan als type, klik op Alle bestanden.

  • Typ bij Bestandsnaam een bestandsnaam, gevolgd door .vbs, en klik dan op Opslaan. WSH gebruikt de extensie .vbs om bestanden te herkennen die VBScript-commando’s bevatten.

19
19
19
2014-08-15 22:12:37 +0000

U kunt een geplande taak maken die wordt uitgevoerd wanneer uw computer wordt ontgrendeld:

  1. Start > Administrative Tools > Task Scheduler
  2. linkerdeelvenster: selecteer Task Scheduler Library
  3. rechterdeelvenster: klik op Create Task… (OPMERKING: dit is de enige manier om de juiste trigger te krijgen)
  4. in het dialoogvenster Taak maken:
  5. tabblad Algemeen – geef een naam voor je taak
  6. tabblad Triggers – klik op Nieuw… en selecteer Op werkstation ontgrendelen
  7. tabblad Actie – klik op Nieuw… en klik op Bladeren… om je script te lokaliseren
  8. tabblad Voorwaarden – verwijder het vinkje Start de taak alleen als de computer op netstroom staat

Ook heb ik het pad in het script aangepast zodat het nu

echo %USERNAME% logged on at %DATE% %TIME% >> %USERPROFILE%\log.txt
``` is
14
14
14
2009-07-30 13:21:37 +0000

De eenvoudigste manier die ik kan bedenken is om dit in een .bat bestand te zetten in je opstart map.

Een meer gecompliceerde manier zou zijn om het batch bestand toe te voegen aan het register in de

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

registersleutel.

2
2
2
2009-07-30 13:37:08 +0000

Een goede alternatieve methode is om een batchbestand te maken met daarin de commando’s die je wilt uitvoeren. Vervolgens geef je in de beleidseditor op de machine aan dat het een aanmeldingsscript moet uitvoeren als onderdeel van het aanmeldingsproces. Een snelle opmerking is dat deze optie alleen beschikbaar is op XP Pro en niet op de home versie. Groepsbeleid editor handleiding hier

2
2
2
2010-05-14 12:50:45 +0000

Weet iemand of dit ook kan worden gebruikt om te draaien als het scherm vergrendeld/ontgrendeld is?

Er is een manier voor Windows 7 en/of Windows Server 2008.

Gebruik Taakplanner, maak een nieuwe basistaak, gebruik als Trigger “Als ik me aanmeld”.

2
2
2
2015-01-06 09:53:34 +0000

Niet nodig! Windows heeft al een mechanisme om dit voor je te loggen in het event log. De gebeurtenis ID is 4624 (528 op pre-Vista systemen).