Pomocí PsTools k Ovládání Další Pc z Příkazového Řádku

V dnešní lekci v naší Geek Škole řada zahrnující SysInternals, budeme vám ukázat, jak používat PsTools sada nástrojů, provádět všechny druhy úkolů správy jak lokálně, tak i na vzdálených počítačích stejně.,

Pokud jste někdy chtěli připojit k jinému počítači a spustit příkaz, rychle získat informace o běžících procesů a případně zabít, nebo dokonce zastavit službu na jiný POČÍTAČ, můžete použít utilit PsTools dělat všechny tyto věci a ještě více.

Samozřejmě můžete použít Remote Desktop nebo podobné služby, pro připojení k libovolnému počítači se systémem Windows, a skutečně vidět plochu a udělat něco, co bys dělat lokálně, ale PsTools nástroje vám umožní dělat mnoho úkolů z příkazového řádku — nebo ještě lépe, od skript, který můžete znovu použít později.,

jedná se o typ nástrojů, které fungují nejlépe v podnikovém prostředí, a zvládnutí těchto nástrojů, určitě se budete mnohem lépe na vašem systému správy práce, ušetří čas, a nechat si dělat věci v mnohem chytřejší způsobem. Dělat věci chytřejší a rychlejší je kritická dovednost za to, že je skvělý sysadmin.

Existuje dvanáct nástrojů v PsTools nastavit, a zatímco některé z nich jsou velmi užitečné, jiné byly nahrazeny s nástroji integrována do novější verze Windows, a tam jsou některé jiné, které nejsou užitečné pro většinu lidí., Projdeme je všemi, abyste pochopili, jak fungují a proč byste mohli chtít použít každý z nich.,ent log na příkazový řádek

  • PsPasswd – změnit heslo pro uživatele
  • PsPing – poměrně jednoduchý nástroj ping s některé další funkce
  • PsService – seznam a provést změny, aby se služby systému Windows
  • PsShutdown – vypnutí, odhlášení nebo uspání počítače
  • PsSuspend – pozastavit a pokračovat v procesu (spíše než jejich zabíjení)
  • je To stojí za zmínku, že můžete použít jako nástroj PsExec, aby provádět všechny druhy command-line utilit na vzdálených počítačích, včetně opravdu užitečné, ty, jako je Autoruns command line tool a mnoho dalších., Možnosti jsou nekonečné, jakmile jste přijali sílu PsTools.

    všechny tyto nástroje lze použít na lokálních počítačích, ale jsou většinou užitečné pro připojení ke vzdáleným počítačům a provádění příkazů na nich.

    Připojení k Vzdálené Počítače ( Syntaxe pro Všechny Nástroje)

    Všechny nástroje lze spustit buď na místní nebo vzdálený počítač, takže všichni mají stejné první argument pro název počítače v případě potřeby. Všimněte si, že byste místo toho mohli použít IP adresu., Pokud tento argument vynecháte, příkaz bude fungovat na vašem místním počítači.

    psinfo \\computername

    můžete také seznam více počítačů jako psinfo \\počítač 1, počítač 2, computer3, nebo byste mohli dát všechny názvy do souboru a odkaz, který jako psinfo @computerlist.txt. Konečná syntaxe je psinfo\\*, který pracuje na všech počítačích v doméně, což pravděpodobně není něco, co budete používat každý den.,

    Pokud potřebujete připojit s alternativní pověření, protože váš počítač místní účet má jiné uživatelské jméno a heslo, než druhý počítač, můžete použít -u a -p možnosti, když jsme si vědomí, že možná nebudete chtít používat -p na příkazovém řádku s heslem v příkazovém z bezpečnostních důvodů. Aktualizace: od nejnovější verze PsExec, žádný nástroj předává hesla jako jasný text už, takže jediná obava je, pokud někdo může číst soubory skriptu a vidět heslo tam.,

    psinfo \\název_počítače -u „uživatele“ -p „Heslo“

    „uživatelská“ část příkazu změní na „DOMÉNY\uživatel“, pokud jste v prostředí domény a je třeba změnit z aktuálně spuštěné uživatelem.

    Poznámka: obecně se budete muset připojit ke vzdáleným počítačům pomocí účtu správce.

    Konfigurace přístupu vzdálené správy

    Pokud se nacházíte v prostředí domény, které většina lidí, kteří potřebují používat PsTools, bude, můžete tuto sekci zcela ignorovat, protože vše by mělo fungovat dobře., Pro někoho se systémem Windows 7, 8, Vista nebo v domácím prostředí, nebo pomocí pár počítačů v kanceláři, bez domény, budete muset vyladit Ovládání Uživatelského Účtu na vzdáleném počítači povolit PsTools správně spustit.

    problém je popsán tak Microsoft:

    , Když uživatel, který je členem místní skupiny administrators na cíl vzdálený počítač naváže připojení vzdálené správy pomocí net use * \\remotecomputer\Share$ command, například, nebudou jako úplné správce připojení., Uživatel nemá na vzdáleném počítači žádný výškový potenciál a uživatel nemůže provádět administrativní úkoly.

    vysvětlit to jiným způsobem, když se pokusíte připojit k jinému počítači a spustit něco, co vyžaduje přístup správce, není tam žádný způsob, jak spustit UAC prompt, a přijmout ji z počítače, takže to nebude připojit jako správce.

    a to není špatná věc., Neměli byste toto nastavení změnit, aniž by plně pochopit, že bude vám umožní otvor pro malware se šíří z jednoho počítače do druhého — za předpokladu, že malware byl místní uživatelské jméno a heslo, a že heslo je stejné jako na ostatní počítače, a malware, je to složité, což většina není. Ale to stále ještě není něco, co brát na lehkou váhu.

    a znovu, pokud jste v prostředí domény, tento problém neexistuje a není třeba jej měnit. A pokud právě testujete s partou virtuálních strojů, nemusíte se příliš obávat.,

    vyladit nástroj řízení uživatelských účtů k povolení PsTools ke spuštění budete chtít otevřít Editor Registru a přejděte na následující klíč:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
    Windows\CurrentVersion\Policies\System

    Jakmile jste tam, vytvořte novou 32-bit DWORD na pravé straně, dávat to jméno LocalAccountTokenFilterPolicy a hodnotu 1. Nemusíte restartovat počítač, aby se nastavení projevilo.,

    Poznámka: jen pro upřesnění, toto nastavení musí stát na vzdáleném počítači, ke kterému se připojujete.

    PsExec

    PsExec je pravděpodobně nejmocnější nástroj v soupravě, jak můžete spustit libovolný příkaz v místní příkazového řádku, stejně jako spouštění na vzdáleném počítači. To zahrnuje vše, co lze spustit na příkazovém řádku — můžete změnit hodnoty registru, spouštět skripty a nástroje nebo se připojit z tohoto počítače k jinému., Výstup příkazů se zobrazí na místním počítači, spíše než na vzdáleném.

    syntaxe je jednoduchá:

    psexec \\computername <volby> apptorun.exe <argumenty>

    Realisticky, i když, budete chtít zahrnout také uživatelské jméno a heslo na příkazovém řádku., Například chcete připojit k jinému PC a zkontrolovat seznam síťových připojení, měli byste použít něco jako toto:

    psexec \\název_počítače -u Uživatel-p Heslo ipconfig

    tento příkaz by vyrábět výstup podobný následujícímu:

    Pokud chcete předat výstup jednoho příkazu do dalšího příkazu, nebo jste chtěli přesměrovat výstup do souboru, byste normálně jen udělat něco jako příkaz.exe > výstup.txt a totéž se děje s PsExec., Takže příkaz, jako je následující, uloží výstup netstat-an do souboru v kořenovém adresáři místního počítače.

    psexec \\název_počítače příkaz netstat-an > C:\connections.txt

    Pokud chcete projít > nebo | znak přes PsExec připojení ke vzdálenému počítači, budete muset použít ^ charakteru, což je málo známé escape znak v systému Windows command shell., To, samozřejmě, znamená, že budeme skutečně potřebovat použít příkaz shell na vzdáleném počítači, a ne jen spustit proces, takže můžeme udělat přesměrování nebo potrubí na prvním místě. Takže to dělá náš příkaz takto (změna cesty k domovskému adresáři, kde máme přístup k zápisu).

    psexec \\název_počítače příkaz cmd /c netstat-an ^> C:\users\geek\connections.,txt

    Tento příklad by místo seznam otevřených spojení generované netstat do domovském adresáři uživatele na vzdáleném počítači, v souboru s názvem připojení.txt.

    Kopírování Programů na Vzdálený POČÍTAČ

    Ty nejsou omezeny na jen aplikace na vzdáleném POČÍTAČI, když pomocí PsExec, a ve skutečnosti, můžete spustit cokoli, co máte na místě. Například, pokud jste chtěli provést kontrolu příkazového řádku Autoruns vzdáleného systému, ale měli jste pouze autorunsc.exe v místním počítači můžete pomocí přepínače-c zkopírovat aplikaci., PsExec odstraní nástroj ze vzdáleného systému po dokončení příkazu.

    je důležité zmínit -accepteula možnost většina z SysInternals nástroje, který bude ujistěte se, že EULA byla přijata na počítači, kde příkaz byl spuštěn. Budeme to muset přidat do autorunsc.příkaz exe nebo jinak selže na vzdáleném počítači.

    psexec \\computername-C autorunsc.,exe -accepteula

    Existuje několik dalších možností, které určují, zda aplikace je vždy kopírován, nebo pokud by to mělo být kopírován, pokud lokální aplikace je vyšší verze než vzdálené. Stačí spustit psexec z výzvy, abyste viděli tyto možnosti.

    Poznámka: Pokud je příkaz k dispozici pouze v příkazovém řádku, musíte před ním přidat cmd /c. To zahrnuje potrubí a přesměrování jako / A >.,

    interakce s přihlášeným uživatelem na vzdáleném počítači

    přepínač-I můžete použít k spuštění aplikace a umožnit vzdálenému uživateli skutečně komunikovat s aplikací. Pravděpodobně byste to chtěli kombinovat s přepínačem-d, který nečeká na ukončení vzdáleného procesu, než vám PsExec vrátí ovládání., Například, tento příkaz by se otevřít okno programu na vzdáleném počítači:

    psexec \\název_počítače -d-i poznámkový blok

    můžete Si také vybrat spustit jako uživatel SYSTÉMU s -s možnost, která může být velmi nebezpečné. Například, pokud jste chtěli otevřít Editor registru na vašem počítači, ale s oprávněními na úrovni uživatele systému, můžete spustit tento příkaz.

    psexec-I-d-s regedit.,exe

    v případě, že vás zajímá, Ano, To vám umožní přístup k mnoha věcem, které byste normálně neměli přístup k úpravám v registru. A ano, je to opravdu špatný nápad.

    Běží na Plný Příkazového Řádku přes PsExec

    Ano, právě jsme vám ukázali všechny ty příklady, jak spustit jeden příkaz přes PsExec… a ukázalo se, že můžete spustit plnou shell na místním počítači, který je ve skutečnosti běží na vzdáleném počítači. Je to, jako byste byli na konzoli tohoto Serveru (z větší části)., A naštěstí, syntaxe pro tento je opravdu snadné (přidat uživatelské jméno, pokud potřebujete).

    psexec \\computername cmd.exe

    jakmile to uděláte, budete mít příkazový řádek, který je nyní spuštěn na vzdáleném počítači.

    příkazový řádek bude fungovat skoro jako normální, s výjimkou tab dokončení nebude fungovat na všechny, ale to je v pořádku s námi.,

    stojí za zmínku, že pokud chcete vzdáleně spouštět příkazy PowerShell na jiném počítači, můžete to udělat nativně s některými vylepšeními konfigurace. Bohužel PowerShell nefunguje velmi pěkně s PsExec, pokud používáte spoustu podivných řešení, které nejsou užitečné.

    Další Možnosti

    psexec příkaz má spoustu dalších opravdu užitečných možností, které můžete použít — každý z nich by být použity v prostoru hned po \\název_počítače a před všemi ostatními příkazy., Takže si myslete psexec \ \ computername-option <remote command.

    pokud právě spustíte příkaz psexec z řádku bez dalších přepínačů, uvidíte všechny z nich.

    PsFile

    Tento příkaz zobrazuje soubory, které jsou aktuálně otevřeny v síti na místním počítači nebo vzdáleném počítači, a funguje podobně jako příkaz Windows „net file“. Syntaxe je stejně jako jakýkoli jiný příkaz v sadě.

    psfile \\computername

    Jo, tohle není tak zábavný jako ten minulý.,

    chcete-Li zavřít jeden ze souborů a odpojení osoby od zdroje, můžete zavřít připojení pomocí možností-c, i když i to by mohlo mít za následek ztrátu dat, protože soubor nebyl správně uzavřen.

    psfile \\computername <cesta> -c

    PsGetSid

    Toto se zobrazí identifikátor zabezpečení pro počítač nebo uživatele, a trvá standardní argumenty., Tento nástroj je pravděpodobně užitečný pouze ve velmi konkrétních scénářích, s nimiž jsme se osobně nesetkali. Zkuste to jednou a zapomeňte na to, dokud ji jednou nebudete muset použít.

    PsInfo

    Tento příkaz vypíše spoustu užitečných informací o systému, včetně dostupnosti, která je spousta zábavy. Můžete spustit tento lokálně vyzkoušet to jednoduše zadáním psinfo na příkazovém řádku, za předpokladu, že vaše SysInternals nástroje jsou v cestě.,

    Pokud chcete získat mnohem více informací z PsInfo, a já vím, že ano, pak můžete použít následující přepínače přidat informace o disku (-d) a opravy hotfix (-h) a seznam instalovaných aplikací a jejich verzí (-s).,

    psinfo -d -h -s

    To má za následek mnohem více informací, a to i na téměř prázdné virtuální stroj:

    můžete také spustit PsInfo vzdáleně přidáním název počítače a případně uživatelské jméno přepínače, ale je tu jeden velký problém: to nebude fungovat, pokud je služba Vzdálený Registr povoleno. Přejděte na konec článku, kde mluvíme o tom, jak jej povolit ve vzdáleném počítači.,

    PsKill

    Tento příkaz je opravdu jednoduchý-zabíjí procesy buď jménem nebo ID a pomocí přepínače-t můžete volitelně zabít celý procesní strom.

    pskill \\computername <PID nebo Jméno>

    problém s PsKill je, že nejnovější verze Windows mají velmi silné úkol zabít nástroj vestavěný přímo v tzv. Taskkill, který má mnohem více funkcí.,

    PsList

    Tento nástroj je velmi jednoduchý, ale poměrně užitečný pro rychlé při pohledu na počítači a dívám se, jestli se něco používá příliš mnoho CPU, nebo paměti. Můžete zadat název nebo část názvu na příkazovém řádku zúžit seznam jen problém aplikace, a můžete vidět, téměř všechny informace, včetně závitů.

    Poznámka: Aby tento nástroj pracovat na vzdáleném počítači, musíte mít remote registry service povoleno. Ujistěte se, že jste si přečetli až do konce lekce, protože vysvětlíme, jak se s tím vypořádat později.,

    PsLoggedOn

    tento nástroj uvádí účty, které jsou přihlášeny buď na počítači, nebo se vzdáleně připojují. Je to docela jednoduché a do značné míry užitečné v prostředí správce systému.

    PsLogList

    Tento nástroj zobrazí místní nebo vzdálené protokolu událostí na příkazovém řádku, a existuje řada možností, které mohou být použity pro filtrování údajů.,

    psloglist \\počítačový Systém,

    k Dispozici jsou také na -h, -d a -m možnosti, které vám umožní zúžit seznam událostí jen posledních x hodin, dnů nebo minut. Volba-n zobrazuje záznamy seznamu x, zatímco přepínač-r změní pořadí, takže nejnovější záznamy budou ve spodní části výstupu. Poslední možnost, kterou jsme nastavili na „Systém“ v tomto příkladu, není ve skutečnosti nutné — pokud vynecháte to, systémového protokolu bude vždy vytáhl, ale můžete jej změnit na Aplikaci nebo Bezpečnostní vytáhnout ty záznamy místo.,

    je To stojí za zmínku, že pokud máte přístup správce k druhému počítači, můžete jednoduše otevřít Prohlížeč Událostí a vyberte možnost Connect z nabídky Akce. Do seznamu zadejte název počítače, změňte pověření, pokud potřebujete, a přístup k protokolům událostí tímto způsobem.

    jediný scénář, kde můžeme vidět opravdu PsLogList být opravdu užitečné je, pokud jste chtěli skriptu něco, k provedení akce v případě určitých zpráv v protokolu událostí.,

    PsPasswd

    tento nástroj umožňuje měnit hesla pro uživatele, místní i vzdálené. Syntaxe je stejná jako všechno ostatní:

    pspasswd \\počítač -u Uživatel-p Heslo <AccountToChange> <NewPassword>

    Výhodou této utility více než jen pomocí ČISTÉ UŽIVATEL z běžného příkazového řádku je, že můžete změnit hesla na více počítačích najednou, a to funguje v prostředí domény stejně.,

    PsPing

    tento nástroj ping, kontroluje porty a provádí testování latence a šířky pásma. Docela jednoduché.,

    psping <název_serveru>

    Nebo můžete zkontrolovat připojení k portu tím, že přidá číslo portu, jako je tento:

    psping <název_serveru>:80

    Existuje spousta pokročilých možností, jak tento příkaz, který budete pravděpodobně chtít vyzkoušet by jsi nede udělat nějaké řešení problémů se sítí.,

    PsService

    tento nástroj vám umožňuje řešit služby Windows z příkazového řádku. Je to opravdu docela snadné použití — syntaxe funguje takhle:

    psservice \\computername <příkaz> <argumenty>

    Seznam příkazů lze nalézt při pohledu na help /? možnosti, ale existuje několik možností, které najdete sami pomocí více než ostatní.,ies konfigurace

  • setconfig – Nastaví konfiguraci
  • start – Spustí službu
  • stop – Zastaví službu
  • restart – Zastaví a restartuje službu
  • pauza – Pozastaví službu
  • cont – Pokračuje v přerušené služby
  • závisí – Výčet služeb, které jsou závislé na jedné konkrétní
  • najít – Vyhledá instanci služby na síti
  • zabezpečení – Zprávy bezpečnostní oprávnění přiřazená službě
  • zejména, start | stop | pause | restart | cont možnosti jsou opravdu jednoduché a snadno pochopitelné., Například v následujícím příkazu můžete nahradit „start“ některým z těchto dalších příkazů.

    psservice \\computername <servicename>

    další možností může být použita pro dotaz. další informace o služby, nebo změnit konfiguraci.

    Poznámka: vestavěný sc.nástroj exe má spoustu užitečných funkcí, které se překrývají s tímto nástrojem. Hlavní rozdíl spočívá v tom, že PsService je o něco uživatelsky přívětivější.,

    PsShutdown

    Tento nástroj umožňuje vypnout, odhlásit, nebo dokonce dát počítač do režimu spánku. Problém je v tom, že to není lepší než vestavěné vypnutí.exe utility, a byl skutečně navržen pro Windows XP, takže se doporučuje použít vestavěný nástroj namísto ve většině případů.

    jednou z možností, kterou PsShutdown poskytuje, je přepínač (- d) pro uvedení počítače do režimu spánku, což může být užitečné.,

    psshutdown \\název_počítače -d

    můžete také použít volbu-h dát počítač do režimu hibernace místo.

    PsSuspend

    Tento nástroj je velmi podobný PsKill, ale je to něco, že vestavěný Taskkill nástroj, jen nemůže — můžete pozastavit procesy, spíše než zabít, což může být velmi užitečné, pokud chcete, aby dočasně zastavit CPU-intenzivní proces od spuštění, zatímco vy dokončit sysadmin úkol.,

    Pozastavení procesu je velmi snadné:

    pssuspend \\počítač <PID nebo Jméno>

    A pokračuji, že proces je stejně snadné — vše, co musíte udělat, je přidat přepínač-r.,

    pssuspend \\počítač -r <PID nebo Jméno>

    Když Utilities nebude Připojit, Protože Remote Registry

    Některé z těchto nástrojů, včetně PsInfo, PsList, PsLogList, a PsLoggedOn vyžadují služba vzdáleného registru musí být povolena na vzdáleném počítači, a to není ve výchozím nastavení povoleno na moderních verzích systému Windows.

    dobrou zprávou je, že tento problém lze snadno vyřešit a nemusíte nechat zapnutý Vzdálený registr., Stačí spustit tento příkaz pomocí PsService ke spuštění služby:

    psservice \\název_počítače start RemoteRegistry

    A pak, když jste udělal s tím, co děláte s PsInfo nebo PsList, můžete zastavit službu znovu pomocí tohoto příkazu:

    psservice \\název_počítače zastavit RemoteRegistry

    Jednoduchá řešení jsou nejlepší, ne?

    Další Lekci

    ujistěte Se, že připojit se k nám zítra, když jsme krytí souborů a diskové nástroje a další zajímavé věci.

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *