Een tijdje terug heb ik mijn eerste script gepost om de gebruikers te vinden die zijn ingelogd op een server en ze op afstand uit te loggen. Dat was enkele jaren geleden en ik dacht dat ik het nog eens zou proberen om de snelheid te verbeteren, de opmaak te verbeteren en enkele speciale schakelaars toe te voegen met een beetje meer flexibiliteit. Tenslotte wilde ik die lelijke, onconventionele naam veranderen in iets dat meer Powershell-goedgekeurd is. Ik noem deze nieuwe functie Get Logged In Users.

De onderliggende structuur gaat nog steeds gebruik maken van query sessie dus dat is niet veranderd. Wat wel is veranderd is dat we nu een specifieke gebruiker kunnen specificeren of kunnen vinden waar een gebruiker is ingelogd in een domein. Een andere opmerking is de mogelijkheid om ze uit te loggen met behulp van een eenvoudige schakelaar, dus dat kan zeker van pas komen als je een log van systemen controleert.

Get Aangemelde Gebruikers Met Powershell

Achteraf gezien weet ik niet waarom ik de ActiveDirectory Module heb toegevoegd en het als administrator heb laten draaien. Dat is gewoon niet nodig en niet vereist om deze functie uit te voeren. Ik zou je echter ten zeerste aanraden om dit uit te voeren op een Windows 10 machine of Server 2016 en later met Powershell 5 want tja laten we eerlijk zijn, we zijn in 2020.

Parameters

-ComputerName

Description: Hiermee geeft u de ComputerNaam op die u wilt controleren. Als er geen ComputerNaam is opgegeven, wordt de lokale computer gecontroleerd.

-UserName

Description: Als de opgegeven gebruikersnaam is ingelogd op een machine, wordt dit weergegeven in de uitvoer.

-LogOff

Description: Als de parameter logoff is opgegeven, wordt de gebruiker afgemeld van de computer. Het wordt aanbevolen om het script uit te voeren zonder de logoff-optie om eerst de resultaten te bekijken.

Hoe voer je het Get Logged In User Powershell Script uit

Om het script uit te voeren, moet je een aantal dingen doen. Eerst en vooral moet je je uitvoeringsbeleid instellen op RemoteSigned of bypass. Dit is standaard bij het uitvoeren van elk Powershell script.

Daarnaast moet je het script dot-bronnen omdat het een functie is. Om het script te dot-bronnen doe je het volgende:

  • Kopieer het script hierboven en sla het op een willekeurige locatie op. In dit voorbeeld sla ik het op in mijn C:\_Scripts map.
  • Type in het Powershell venster: . .\_ScriptsGet-LoggedInUser.ps1 – Let op de twee punten voor de backslash.

Get Aangemelde Gebruikers Op Afstandscomputers

Het mooiste aan dit script vind ik de mogelijkheid om te achterhalen wie er is ingelogd op een computer op afstand. Dit vermindert de noodzaak om fysiek in te loggen op de computer en het op die manier te controleren. Omdat dit Powershell script je in staat stelt om remote servers en computers te bevragen, maakt het het zeer automatiseerbaar en zeer schaalbaar. Met dit script kun je 1 server of 1.000 servers controleren en het kost evenveel moeite voor de persoon die het script uitvoert. Het is geweldig en ik hou ervan hoe je het allemaal kunt doen vanaf je eigen Windows 10 computer.

Je kunt ook heel gemakkelijk vinden waar een gebruiker is aangemeld in een domein. Afhankelijk van hoeveel machines je gaat itereren, kan het natuurlijk enige tijd duren, maar het kan worden gedaan. Hier is een eenvoudig stukje code om te achterhalen waar een gebruiker is ingelogd.

ErrorAction SilentlyContinue wordt gebruikt om verbindingsfouten te onderdrukken en schone uitvoer weer te geven

Zo zie je maar, een snelle en eenvoudige oplossing voor een probleem dat veel IT-beheerders tijdens hun sysadmin-reis zijn tegengekomen. Ik ben me er van bewust dat je dit ook via group policy kunt doen, als je die route wilt volgen, of je kunt dit via een GUI tool doen, maar ik hou er altijd van om mijn handen vuil te maken met Powershell.

Articles

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.