Geplande taak repareren kan niet worden uitgevoerd voor .BAT-bestand

Als je een .BAT-bestand hebt en je probeert het automatisch uit te voeren met Taakplanner(Task Scheduler) in Windows , ben je mogelijk het probleem tegengekomen waarbij het gewoon niet wordt uitgevoerd, tenzij je de taak handmatig uitvoert.

Ik heb een batchbestand gemaakt dat alles in een tijdelijke map verwijdert wanneer de computer opstart. Ik heb een basistaak gemaakt in Taakplanner(Task Scheduler) en hoopte op het beste. Helaas gebeurde er niets toen mijn computer opstartte. Na veel vallen en opstaan, kwam ik erachter hoe ik het script kon laten werken.

In dit artikel zal ik u door de instellingen en machtigingen leiden die u moet aanpassen om uw batchbestand te laten werken zonder handmatige tussenkomst.

Stap 1: Controleer File/Folder mapmachtigingen

De eerste stap om dit probleem op te lossen, is ervoor te zorgen dat het account dat u gebruikt om het script in Taakplanner uit te voeren, de machtiging (Task Scheduler)Volledig beheer(Full Control) heeft voor de map met het script, het script zelf en alle mappen/bestanden die het script aanraakt wanneer het wordt uitgevoerd.

Ik heb bijvoorbeeld het volgende batchscript hieronder gemaakt:

set folder="C:\test"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

Ik heb het .BAT -bestand opgeslagen in mijn map Documenten. Het pad is C:\Users\username\Documents . Ik ging naar C:\Users\gebruikersnaam, klikte met de rechtermuisknop op de map Documenten(Documents) en klikte op Eigenschappen(Properties) . Toen klikte ik op het tabblad Beveiliging .(Security)

Zoals u kunt zien, is het gebruikersaccount Aseem expliciet toegevoegd en heeft het de machtiging Volledig beheer(Full Control) gekregen. Nu moet u hetzelfde doen voor de map die het script bevat en voor het script zelf. Ga er niet zomaar vanuit dat als je permissies geeft aan de map die het script bevat, je klaar bent om te gaan, want dat ben je niet. Stel ten slotte machtigingen in voor alle bestanden en mappen waarmee het script interactie zal hebben.

In mijn geval moest ik naar C:\test gaan , met de rechtermuisknop op die map klikken en mijn gebruikersaccount daar toevoegen met volledige controle-(Full Control) machtigingen. Het is een beetje vervelend dat je dit moet doen, maar het is de enige manier om het script te laten werken.

Opmerking: het account dat wordt gebruikt om het script uit te voeren, moet deel uitmaken van de lokale groep Administrators op de computer. In mijn geval is het Aseem-account een beheerdersaccount en daarom onderdeel van de lokale beheerdersgroep. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

Stap 2: Controleer de instellingen van de taakplanner(Task Scheduler Settings)

Laten we nu naar Taakplanner(Task Scheduler) gaan en daar de juiste instellingen wijzigen. Open Taakplanner(Task Scheduler) en zoek uw taak onder het gedeelte Actieve taken( Active Tasks) . Ze moeten in alfabetische volgorde worden vermeld.

Dubbelklik erop en het zal de taak vanzelf openen in hetzelfde venster. Om de taak te bewerken, moet u er met de rechtermuisknop op klikken en Eigenschappen(Properties) kiezen .

Er zijn verschillende tabbladen en hier moeten een aantal dingen worden gecontroleerd en gewijzigd. Ten eerste moet u op het tabblad Algemeen(General) het gebruikersaccount controleren dat wordt gebruikt om de taak uit te voeren. In mijn geval is het de Aseem- account, waaraan ik eerder in het bestandssysteem machtigingen had gegeven en die deel uitmaakt van de groep Administrators op de computer.

Vervolgens moet u de optie Uitvoeren kiezen of de gebruiker is aangemeld of niet( Run whether user is logged on or not) en Windows Vista, Windows Server 2008 kiezen in het vak Configureren voor(Configure for) .

Op het tabblad Acties(Actions) moet u het script selecteren, op Bewerken(Edit) klikken en vervolgens het pad naar de map met het script toevoegen in het vak Starten in (optioneel)(e Start in (optional)) . Dit lijkt misschien overbodig, maar dat is het niet. In mijn geval heb ik C:\Users\Aseem\Documents\ in het vak gezet.

Klik nu op OK om de instellingen op te slaan. Wanneer u dit doet, kan er een dialoogvenster verschijnen waarin u het wachtwoord moet invoeren voor het gebruikersaccount dat de taak zal uitvoeren. Dit brengt een andere eis met zich mee. U kunt geen account gebruiken zonder wachtwoord. Het gebruikersaccount moet een wachtwoord hebben om de taak te kunnen uitvoeren.

Ten slotte moet u de taak eenmaal handmatig uitvoeren in Taakplanner(Task Scheduler) om ervoor te zorgen dat deze wordt uitgevoerd. Als het handmatig goed werkt nadat je alle instellingen hebt gewijzigd, zou het moeten werken wanneer het zou moeten worden geactiveerd. In mijn geval zou het bij het opstarten moeten gebeuren en nadat ik de wijzigingen had aangebracht, werkte alles goed.

Merk op dat als uw script toegang heeft tot verschillende computers in een domein wanneer het wordt uitgevoerd, u moet proberen het domeinbeheerdersaccount te gebruiken om de taak uit te voeren. Dit zorgt ervoor dat het account voldoende machtigingen heeft om toegang te krijgen tot de externe computers.

Een ander punt om op te merken is of uw script toegang heeft tot bronnen op een netwerkshare. Als uw script letters gebruikt om toegang te krijgen tot het netwerk, wordt het mogelijk niet uitgevoerd. In plaats van F:\data\ te gebruiken, moet u bijvoorbeeld \\machinename\share_name\data\ Â in het script gebruiken. Als je je script nog steeds niet kunt laten werken, plaats dan hier een opmerking en ik zal proberen te helpen. Genieten van!



About the author

Ik ben een computerprofessional met meer dan 10 jaar ervaring. In mijn vrije tijd help ik graag aan een bureau en leer ik kinderen internetten. Mijn vaardigheden omvatten veel dingen, maar het belangrijkste is dat ik weet hoe ik mensen kan helpen bij het oplossen van problemen. Als je iemand nodig hebt die je kan helpen met iets dringends of gewoon wat basistips wilt, neem dan contact met me op!



Related posts