Automatisch inloggen - taak uitvoeren - afmelden als specifieke gebruiker

Status
Niet open voor verdere reacties.

Pavelichenco

Gebruiker
Lid geworden
5 okt 2011
Berichten
14
Goedemorgen helpers,

Om VBA code automatisch te laten draaien heb ik een .vbs script gemaakt die mijn gewenste taken automatisch uitvoert op een Windows Server 2012 R2.
Op dit moment heb ik dit geregeld via task scheduler, die de .vbs triggert op gespecificeerde tijden. Werkt prima.
Dat wil zeggen, het werkt prima zolang er een gebruiker is ingelogd op de server (middels Remote Desktop), zelfs als die "disconnected" is.
Nu is het zo dat wanneer helemaal niemand is ingelogd op de server (taakbeheer "users" is helemaal leeg), dan wordt de taak niet uitgevoerd.
Dit is wel logisch verklaarbaar, aangezien het .vbs script een Excel instantie opent, en dit is nu eenmaal niet mogelijk als je niet bent aangemeld...

Mijn vraag: hoe zorg ik ervoor dat voordat het .vbs script wordt gestart een gebruiker wordt aangemeld (een specifieke gebruiker wel te verstaan) en weer wordt afgemeld nadat het .vbs script is afgerond?

Ter info: Deze server staat ALTIJD aan en wordt ook nooit opnieuw opgestart. Dus dingen als register aanpassen voor een auto login bij rebooten is niet wat ik zoek.
Eigenlijk zoek ik zoiets:

Code:
strUsername = xxx@xxx.nl
strPassword = xxxXXXxxx
WinServerLogon = strUsername & strPassword

Run xxx.vbs

WinServerLogoff

Het idee is dan dat dit script wordt aangeroepen door task scheduler, deze inlogt op de server, mijn .vbs uitvoert en dan weer afmeld.
Optioneel: Error handling wanneer maximaal aantal gebruikers is ingelogd dat alles wordt overgeslagen.

Ik ben mij er terdege van bewust dat het beveiligingsissues met zich meebrengt wanneer een password in plain text in een script komt te staan...

Hopelijk hebben jullie goede ideeën!
 
Laatst bewerkt:
Laat de taak draaien waarbij je aangeeft dat het ook moet draaien als de gebruiker niet is ingelogd. De gebruikersnaam en wachtwoord worden dan door de task scheduler opgeslagen. Hou er rekening mee dat wanneer het gaat lopen als die gebruiker niet is ingelogd er dan voor die gebruiker geen user profile is. Standaard is dit dan C:\Users\Default. De gebruiker moet dan wel het recht hebben om als batch user aan te mogen loggen. Dat kan je in de policies regelen.
 
Edmoor, bedankt voor je reactie.
Bedoel je dit? Dat ik hier bijvoorbeeld mijzelf als gebruiker moet toevoegen en dan ook in de scheduler mij als gebruiker? + draaien wanneer niet ingelogd?

policy.jpg
 
Dat recht heb je dan inderdaad nodig. Daarnaast vink je ook dit aan bij de taak die je maakt:
TSK.JPG
 
Krijg helaas nog niet het gewenste resultaat.
Heb mezelf toegevoegd bij de batch job en mezelf als gebruiker in de scheduler en aangevinkt "zelfs wanneer gebruiker niet is ingelogd".
Krijg helaas niet het gewenste resultaat.
Kan het misschien komen omdat ik de bestanden op een netwerklocatie heb staan (wat niet de server is)? De netwerklocatie is wel zichtbaar als ik inlog op de server en onder netwerk kijk.
 
Wat ik al zei. Er is geen User Profile en letters van netwerkschijven zullen niet bekend zijn. Gebruik dus een batchfile om je VBS te starten en in de batchfile kan je dan voor het starten van de VBS de driveletters bekend maken met NET USE of gebruik UNC paden in je programma.
 
Krijg het nog steeds niet voor elkaar. De drive die ik gebruik is gemapt met net use, credentials geef ik daarbij ook mee (mijn eigen credentials), werkt naar behoren wanneer ik ben aangemeld, maar niet wanneer ik ben afgemeld en de taskscheduler de batch job moet draaien. Batch file staat in de map users/Default, die roept de .vbs aan op het netwerk en de .vbs opent Excel, voert taken uit, save en sluit Excel weer af. Gaat mis bij het openen van Excel, dat lukt niet omdat er geen interface is omdat geen gebruiker is ingelogd...
OMG ik weet het niet meer...

EDIT:
De oplossing op deze site heeft mijn probleem opgelost:
http://stackoverflow.com/questions/13690069/excel-does-not-launch-when-not-logged-in
Deze mappen aanmaken:
(32Bit) C:\Windows\System32\config\systemprofile\Desktop
(64Bit) C:\Windows\System32\config\systemprofile\Desktop en C:\Windows\SysWOW64\config\systemprofile\Desktop

Thanks voor de hulp!
 
Laatst bewerkt:
Dat van die mappen klopt inderdaad maar ik ging er niet vanuit dat die niet zouden bestaan. Dat kan dus kennelijk ook.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan