Před časem jsem zveřejnil svůj původní skript pro zjištění uživatelů přihlášených k serveru a jejich vzdálené odhlášení. To bylo před několika lety a já jsem si řekl, že se na to znovu vrhnu a pokusím se zvýšit rychlost, zlepšit formátování a přidat nějaké specializované přepínače s větší flexibilitou. A nakonec jsem chtěl změnit ten ošklivý, netradiční název na něco, co by více vyhovovalo Powershellu. Tuto novou funkci jsem nazval Získat přihlášené uživatele.

Základní struktura bude stále používat relaci dotazu, takže se to nezměnilo. Co se změnilo, je, že nyní můžeme zadat konkrétního uživatele nebo zjistit, kde je uživatel v doméně přihlášen. Další poznámkou je možnost odhlásit je pomocí jednoduchého přepínače, takže se to určitě může hodit, pokud kontrolujete protokol systémů.

Zjistit přihlášené uživatele pomocí prostředí Powershell

Pohledem zpět nevím, proč jsem přidal modul ActiveDirectory a nechal ho spustit jako správce. To prostě není potřeba a není to nutné pro spuštění této funkce. Nicméně bych vám vřele doporučoval spustit ji na počítači se systémem Windows 10 nebo na serveru 2016 a novějším s prostředím Powershell 5, protože no, přiznejme si to, jsme v roce 2020.

Parameters

-ComputerName

Popis: Zde se zadá ComputerName, který chcete zkontrolovat. Pokud není zadáno žádné ComputerName, zkontroluje se místní počítač.

-UserName

Popis:

-LogOff

Popis: Pokud je nalezeno zadané uživatelské jméno přihlášené k počítači, zobrazí jej ve výstupu: Pokud je zadán parametr logoff, odhlásí uživatele z počítače. Doporučuje se spustit bez přepínače logoff a nejprve si prohlédnout výsledky.

Jak spustit skript Get Logged In User Powershell

Pro spuštění skriptu je třeba udělat několik věcí. V první řadě je třeba nastavit zásady spouštění na RemoteSigned nebo bypass. To je standardní postup při spouštění jakéhokoli skriptu prostředí Powershell.

Následujícím úkolem je zadat zdrojový kód skriptu, protože se jedná o funkci. Pro dot source skriptu proveďte následující:

  • Zkopírujte výše uvedený skript a uložte jej do libovolného umístění. V tomto příkladu ho uložím do složky C:\_Scripts.
  • V okně Powershell zadejte: . .\_Scripts\Get-LoggedInUser.ps1 – Všimněte si dvou teček před zpětným lomítkem.

Zjistit přihlášené uživatele na vzdálených počítačích

Nejlepší věc, kterou na tomto skriptu miluji, je možnost zjistit, kdo je přihlášen ke vzdálenému počítači. To zmírňuje nutnost fyzického přihlášení k počítači a kontroly tímto způsobem. Protože tento skript prostředí Powershell umožňuje dotazovat se na vzdálené servery a počítače, je vysoce automatizovatelný a velmi dobře škálovatelný. Pomocí tohoto skriptu můžete zkontrolovat 1 server nebo 1 000 serverů a pro osobu, která jej spouští, to bude představovat stejné úsilí. Je to úžasné a líbí se mi, že to všechno můžete dělat z vlastního počítače se systémem Windows 10.

Můžete také velmi snadno zjistit, kde je uživatel v doméně přihlášen. V závislosti na tom, kolik počítačů budete iterovat, to samozřejmě může nějakou dobu trvat, ale dá se to zvládnout. Zde je jednoduchý úryvek kódu, jak zjistit, kde je uživatel přihlášen.

ErrorAction SilentlyContinue slouží k potlačení chyb připojení a zobrazení čistého výstupu

Tak tady to máte, rychlé a snadné řešení problému, na který narazilo mnoho správců IT na své cestě sysadminem. Jsem si vědom toho, že to můžete udělat také prostřednictvím zásad skupiny, pokud byste chtěli jít touto cestou, nebo to můžete udělat prostřednictvím nějakého nástroje s grafickým uživatelským rozhraním, ale já si vždycky rád zašpiním ruce prostředím Powershell.

Articles

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.