Cu ceva timp în urmă am postat scriptul meu inițial pentru a găsi utilizatorii care sunt conectați la un server și pentru a-i deconecta de la distanță. Asta a fost acum câțiva ani și m-am gândit să mai încerc o dată să îmbunătățesc viteza, să îmbunătățesc formatarea și să adaug câteva comutatoare dedicate cu ceva mai multă flexibilitate. În cele din urmă, am vrut să schimb acel nume urât și neconvențional cu ceva mai aprobat de Powershell. Am numit această nouă funcție Get Logged In Users (Obține utilizatorii conectați).

Structura de bază va folosi în continuare sesiunea de interogare, deci nu s-a schimbat. Ceea ce s-a schimbat este că acum putem specifica un anumit utilizator sau putem găsi unde este conectat un utilizator într-un domeniu. O altă notă este abilitatea de a-i deconecta folosind un simplu comutator, astfel încât acest lucru poate fi cu siguranță util dacă verificați un jurnal de sisteme.

Get Logged In Users Using Powershell

Cu o privire retrospectivă, nu știu de ce am adăugat modulul ActiveDirectory și l-am făcut să ruleze ca administrator. Acest lucru pur și simplu nu este necesar și nu este necesar pentru a rula această funcție. Cu toate acestea, v-aș recomanda cu tărie să o rulați pe o mașină Windows 10 sau Server 2016 și mai târziu cu Powershell 5 pentru că, ei bine, să recunoaștem, suntem în 2020.

Parametri

-ComputerName

Descriere: Aceasta va specifica ComputerName pe care doriți să îl verificați. Dacă nu este specificat nici un ComputerName, se va verifica computerul local.

-UserName

Descriere:

-UserName

Descriere: Dacă numele de utilizator specificat este găsit conectat la o mașină, acesta va fi afișat în ieșire.

-LogOff

Descriere: Dacă este specificat parametrul logoff, va deconecta utilizatorul de la calculator. Se recomandă rularea fără parametrul logoff pentru a vizualiza mai întâi rezultatele.

Cum se execută scriptul Powershell Get Logged In User

Pentru a rula scriptul există câteva lucruri pe care trebuie să le faceți. În primul rând, trebuie să vă setați politica de execuție la RemoteSigned sau la bypass. Acesta este un standard la rularea oricărui script Powershell.

În continuare, trebuie să faceți dot source scriptul, deoarece este o funcție. Pentru a face dot source scriptul, faceți următoarele:

  • Copiați scriptul de mai sus și salvați-l în orice locație. În acest exemplu îl voi salva în folderul meu C:\_Scripts.
  • În fereastra Powershell tastați: . .\_Scripts\Get-LoggedInUser.ps1 – Observați cele două puncte înainte de backslash.

Get Logged On Users On Remote Computers

Cel mai bun lucru pe care îl iubesc la acest script este abilitatea de a afla cine este logat pe un computer la distanță. Acest lucru atenuează necesitatea de a vă conecta fizic la computer și de a verifica în acest fel. Deoarece acest script Powershell vă permite să interogați serverele și computerele de la distanță, îl face foarte ușor de automatizat și foarte scalabil. Folosind acest script, puteți verifica 1 server sau 1.000 de servere și ar însemna același efort pentru persoana care îl execută. Este grozav și îmi place cum puteți face totul de pe propriul computer cu Windows 10.

De asemenea, puteți afla foarte ușor unde este conectat un utilizator într-un domeniu. În funcție de câte mașini veți itera, este evident că poate dura ceva timp, dar se poate face. Iată un fragment de cod simplu despre cum să obțineți unde este logat un utilizator.

ErrorAction SilentlyContinue este folosită pentru a suprima erorile de conectare și pentru a afișa o ieșire curată

Atunci, iată o soluție rapidă și ușoară la o problemă pe care mulți administratori IT au întâlnit-o în călătoria lor de sysadmin. Sunt conștient că puteți face acest lucru și prin intermediul politicii de grup, dacă ați dori să mergeți pe această cale, sau puteți face acest lucru prin intermediul unui instrument GUI, dar îmi place întotdeauna să mă murdăresc pe mâini cu Powershell.

.

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată.