PsTools gebruiken om andere pc’ s te besturen vanaf de commandoregel

in de les van vandaag in onze Geek School-serie over SysInternals, gaan we u laten zien hoe u de pstools-set hulpprogramma ‘ s kunt gebruiken om allerlei beheertaken uit te voeren, zowel lokaal als op externe computers.,

als u ooit een verbinding met een andere computer wilt maken en een commando wilt uitvoeren, snel informatie wilt krijgen over processen die worden uitgevoerd en ze optioneel wilt uitschakelen, of zelfs een service op een andere PC wilt stoppen, kunt u de pstools-hulpprogramma ‘ s gebruiken om al deze dingen en nog meer te doen.

Het is duidelijk dat u Remote Desktop of een soortgelijke service kunt gebruiken om verbinding te maken met elke Windows — computer en daadwerkelijk het bureaublad te zien en alles te doen wat u lokaal zou doen, maar de PsTools hulpprogramma ‘ s staan u toe om veel taken uit te voeren vanaf de opdrachtregel-of beter nog, vanaf een script dat u later kunt hergebruiken.,

Dit zijn het type hulpprogramma ‘ s dat het beste werkt in een bedrijfsomgeving, en het beheersen van deze tools zal je zeker veel beter maken in je systeembeheer taak, bespaart je tijd, en laat je dingen doen op een veel slimmere manier. Dingen slimmer en sneller doen is een cruciale vaardigheid om een geweldige systeembeheerder te zijn.

Er zijn twaalf gereedschappen in de PsTools set, en hoewel sommige van hen zeer nuttig zijn, zijn andere vervangen door gereedschappen die zijn ingebouwd in meer recente versies van Windows, en er zijn een paar andere die niet nuttig zijn voor de meeste mensen., We zullen ze allemaal doornemen zodat je begrijpt hoe ze werken en waarom je ze allemaal wilt gebruiken.,ent inloggen op de commandoregel

  • PsPasswd – het wijzigen van het wachtwoord voor gebruikers
  • PsPing – een vrij eenvoudige hulpprogramma ping met een aantal extra functies
  • PsService – lijst en de wijzigingen aan de Windows-services
  • PsShutdown – afsluiten, afmelden of opschorten van de computer
  • PsSuspend – onderbreken en hervatten van processen (in plaats van ze te doden)
  • Het is de moeite waard op te merken dat u een gereedschap kunt gebruiken, zoals PsExec uitvoeren van allerlei commando-regel programma ‘ s op externe computers… met inbegrip van echt nuttige dingen zoals de Autoruns commando-regel gereedschap en nog veel meer., De mogelijkheden zijn eindeloos als je eenmaal de kracht van PsTools hebt omarmd.

    al deze hulpmiddelen kunnen worden gebruikt op lokale computers, maar ze zijn vooral nuttig voor het verbinden met externe computers en het uitvoeren van commando ‘ s op deze computers.

    verbinding maken met externe Computers ( syntaxis voor alle hulpprogramma ‘s)

    alle hulpprogramma’ s kunnen worden uitgevoerd op de lokale of externe computer, zodat ze allemaal hetzelfde eerste argument voor computernaam hebben indien nodig. Merk op dat je in plaats daarvan het IP-adres kunt gebruiken., Als u dit argument weglaat, zal het commando op uw lokale computer werken.

    psinfo \\computernaam

    u kunt ook een lijst maken van meerdere computers zoals psinfo \\computer1, computer2, computer3, of u kunt alle namen in een bestand zetten en naar psinfo @computerlist verwijzen.txt. De uiteindelijke syntaxis is psinfo \ \ * die op alle computers in het domein werkt, wat waarschijnlijk niet iets is dat je elke dag zult gebruiken.,

    Als u verbinding moet maken met alternatieve referenties omdat het account van uw lokale computer een andere gebruikersnaam en wachtwoord heeft dan de andere computer, kunt u de opties-u en-p gebruiken, hoewel we er rekening mee houden dat u misschien-p op de opdrachtregel niet wilt gebruiken met een wachtwoord in de opdracht om veiligheidsredenen. Update: vanaf de laatste release van PsExec, geen tool passeert wachtwoorden als duidelijke tekst meer, dus de enige zorg is als iemand uw script bestanden kan lezen en zie het wachtwoord daar.,

    psinfo \\computername-u” user “- p”Password”

    Het” user “deel van het commando zou veranderen in” DOMAIN\user ” Als u zich in een domein omgeving bevindt en moet veranderen van de momenteel actieve gebruiker.

    opmerking: over het algemeen moet u verbinding maken met de externe computers met een administrator-account.

    Remote Administration Access configureren

    Als u zich in een domein omgeving bevindt, wat de meeste mensen zullen zijn die PsTools moeten gebruiken, kunt u deze sectie volledig negeren omdat alles prima zou moeten werken., Voor iedereen met Windows 7, 8, of Vista in een thuisomgeving of met behulp van een paar computers in een kantoor zonder een domein, moet u gebruikersaccount controle tweaken op de externe computer om PsTools goed te laten draaien.

    het probleem wordt goed beschreven door Microsoft:

    wanneer een gebruiker die lid is van de lokale groep administrators op de doelcomputer een externe beheerverbinding tot stand brengt met behulp van de opdracht net use * \\remotecomputer\Share$, bijvoorbeeld, zullen ze geen verbinding maken als volledige beheerder., De gebruiker heeft geen hoogtepotentiaal op de externe computer en de gebruiker kan geen beheertaken uitvoeren.

    om het op een andere manier uit te leggen, is er geen manier om de UAC-prompt te activeren en het van uw computer te accepteren, dus het zal geen verbinding maken als beheerder.

    en dit is geen slechte zaak., U moet deze instelling niet wijzigen zonder volledig te begrijpen dat u een opening voor malware zal toestaan om zich van de ene computer naar de andere te verspreiden — ervan uitgaande dat malware uw lokale gebruikersnaam en wachtwoord heeft, en dat wachtwoord is hetzelfde als de andere computer, en de malware is zo lastig, wat de meeste niet.

    en nogmaals, als u zich in een domein omgeving bevindt, bestaat dit probleem niet en hoeft het niet te worden gewijzigd. En als je gewoon testen met een heleboel virtuele machines, je hoeft niet veel zorgen te maken over.,

    om UAC aan te passen om PsTools te laten draaien, wilt u de Register-Editor openen en naar de volgende sleutel navigeren:

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

    Maak een nieuw 32-bit DWORD aan de rechterkant, geef het de naam LocalAccountTokenFilterPolicy en de waarde 1. U hoeft de computer niet opnieuw op te starten om de instelling van kracht te maken.,

    opmerking: voor alle duidelijkheid, deze instelling moet plaatsvinden op de externe computer waarmee u verbinding maakt.

    PsExec

    PsExec is waarschijnlijk de krachtigste tool in de kit, omdat u elk commando in uw lokale opdrachtprompt kunt uitvoeren, net als het uitvoeren op de externe computer. Dat omvat alles wat op de opdrachtregel kan worden uitgevoerd — u kunt registerwaarden wijzigen, scripts en hulpprogramma ‘ s uitvoeren, of verbinding maken vanaf die PC naar een andere., De uitvoer van de commando ‘ s zal worden getoond op uw lokale PC, in plaats van op de remote.

    de syntaxis is eenvoudig:

    psexec \\computernaam <opties> apptorun.exe <argumenten>

    realistisch gezien zou u echter ook de gebruikersnaam en het wachtwoord op de opdrachtregel willen opnemen., Bijvoorbeeld om te verbinden met een andere PC en controleer de lijst met netwerkverbindingen, zou u iets zoals dit:

    psexec \\computernaam -u User-p Wachtwoord ipconfig

    dit commando zou de uitvoer van de volgende strekking:

    Als je wilt slagen voor de uitvoer van een opdracht naar de andere opdracht, of je wilde omleiden naar een bestand, normaal gesproken zou je gewoon iets doen als opdracht.exe > uitvoer.txt, en hetzelfde gebeurt met PsExec., Dus een commando als het volgende zal de uitvoer van netstat-an opslaan in een bestand op de root directory van uw lokale computer.

    psexec \ \ computernaam netstat-an > C:\connections.txt

    Als u het > of | teken over de PsExec-verbinding met de externe computer wilt doorgeven, moet u het ^ teken gebruiken, een weinig bekend escape-teken in de windows command shell., Dat betekent natuurlijk dat we de command shell op de externe computer moeten gebruiken, en niet alleen het proces moeten uitvoeren, zodat we in de eerste plaats de redirect of pipe kunnen doen. Dus dat maakt ons Commando zo (het veranderen van het pad naar de home directory waar we schrijf toegang hebben).

    psexec \ \ computernaam Cmd / c netstat-an ^> C:\users\geek\connections.,txt

    dit voorbeeld plaatst de lijst van door netstat gegenereerde open verbindingen in de persoonlijke map van de gebruiker op de externe computer, in een bestand met de naam verbindingen.txt.

    programma ‘ s kopiëren naar de pc op afstand

    u bent niet beperkt tot alleen de toepassingen op de pc op afstand wanneer u PsExec gebruikt, en in feite kunt u alles draaien wat u lokaal hebt. Bijvoorbeeld, als je wilde een Autoruns command-line scan van het externe systeem te doen, maar je had alleen autorunsc.exe op uw lokale computer kunt u de-c-schakelaar gebruiken om de toepassing over te kopiëren., PsExec zal de tool verwijderen uit het systeem op afstand zodra het commando is voltooid.

    Dit is een belangrijk moment om de optie-accepteula van de meeste SysInternals tools te vermelden, die ervoor zal zorgen dat de EULA is geaccepteerd op de computer waarop het commando is uitgevoerd. We moeten dit toevoegen aan de autorunsc.exe commando of anders zal het mislukken op de externe computer.

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

    Er zijn een paar andere opties die aangeven of de toepassing altijd gekopieerd wordt, of dat het gekopieerd moet worden als de lokale toepassing een hogere versie is dan de remote. U kunt gewoon uitvoeren psexec van de prompt om deze opties te zien.

    opmerking: als een opdracht alleen beschikbaar is in de opdrachtprompt, moet u daarvoor cmd /c toevoegen. Dit omvat pipes en omleidingen zoals / en >.,

    interactie met de ingelogde gebruiker op de externe PC

    u kunt de-i-schakelaar gebruiken om de toepassing te starten en de externe gebruiker in staat te stellen daadwerkelijk met de toepassing te communiceren. Je zou dit waarschijnlijk willen combineren met de-d switch, die niet wacht tot het remote proces is beëindigd voordat PsExec de controle aan je teruggeeft., Dit commando opent bijvoorbeeld een Kladblok-venster op een externe computer:

    psexec \\computername-d-i Kladblok

    u kunt er ook voor kiezen om als systeemgebruiker te draaien met de optie-s, wat zeer gevaarlijk kan zijn. Als u bijvoorbeeld de Register-Editor op uw eigen computer wilt openen, maar met Machtigingen op systeemgebruikersniveau, kunt u dit commando uitvoeren.

    psexec-i-d-s regedit.,exe

    in het geval u zich afvraagt, ja, dit geeft u toegang tot een heleboel dingen die u normaal gesproken niet zou hebben om te bewerken in het register. En ja, het is een heel slecht idee.

    een volledige opdrachtprompt uitvoeren via PsExec

    Ja, we hebben je al die voorbeelden laten zien van hoe je een enkele opdracht uitvoert via PsExec… en het blijkt dat je een volledige shell kunt uitvoeren op je lokale computer die daadwerkelijk draait op de externe computer. Het is net alsof je op de console van die server (voor het grootste deel)., En gelukkig, de syntaxis voor deze is echt eenvoudig (voeg de gebruikersnaam als je nodig hebt).

    psexec \\computernaam cmd.exe

    zodra u dit hebt gedaan, zult u een opdrachtprompt hebben die nu op de externe PC draait.

    de opdrachtprompt zal bijna als normaal werken, behalve tabvoltooiing zal helemaal niet werken, maar dat is prima voor ons.,

    Het is vermeldenswaard dat als u PowerShell-opdrachten op afstand op een andere computer wilt uitvoeren, u dat native kunt doen met een aantal aanpassingen aan de configuratie. Helaas werkt PowerShell niet erg mooi met PsExec, tenzij je een hoop rare oplossingen gebruikt die niet de moeite waard zijn.

    andere opties

    het psexec commando heeft een hoop andere echt nuttige opties die u kunt gebruiken — elk van deze opties zou worden gebruikt in de ruimte direct na \\computernaam en voor een van de andere commando ‘ s., Denk aan psexec \ \ computername-option <remote command>.

    als je gewoon het psexec commando vanaf de prompt uitvoert zonder extra switches, zul je ze allemaal zien.

    PsFile

    Dit commando toont bestanden die momenteel worden geopend via het netwerk op een lokale PC of een externe PC, en het werkt op dezelfde manier als het Windows “net file” Commando. De syntaxis is net als elk ander commando in de kit.

    psbestand \\computernaam

    Ja, Deze is niet zo leuk als de vorige.,

    Als u een van de bestanden wilt sluiten en de persoon van de bron wilt loskoppelen, kunt u de verbinding sluiten met de optie-c, hoewel dat kan leiden tot verlies van gegevens omdat het bestand niet goed is afgesloten.

    psbestand \\computernaam <pad> -c

    PsGetSid

    Dit geeft de beveiligingsidentificatie voor een computer of gebruiker, en neemt de standaard argumenten., Dit hulpprogramma is waarschijnlijk alleen nuttig in zeer specifieke scenario ‘ s, waarvan we niet persoonlijk hebben ondervonden. Dus probeer het een keer en vergeet het totdat je het op een dag moet gebruiken.

    PsInfo

    Dit commando toont veel nuttige informatie over een systeem, inclusief de uptime, wat heel leuk is. U kunt deze lokaal uitvoeren om het uit te testen door simpelweg psinfo te typen op de opdrachtprompt, ervan uitgaande dat uw SysInternals gereedschappen in het pad staan.,

    als je veel meer informatie uit PsInfo wilt halen, en ik weet dat je dat doet, dan kun je de volgende switches gebruiken om schijfinformatie (-d) en hotfixes (-h) en een lijst met geïnstalleerde applicaties en hun versies (-s) toe te voegen.,

    psinfo-d-h-s

    Dit resulteert in veel meer informatie, zelfs op een bijna lege virtuele machine:

    U kunt PsInfo ook op afstand uitvoeren door de computer naam en eventueel de gebruikersnaam schakelt… maar er is een groot probleem: het zal niet werken tenzij de Remote Registry service is ingeschakeld. Ga naar het einde van het artikel waar we praten over hoe het mogelijk te maken op de externe computer.,

    PsKill

    Dit commando is heel eenvoudig — het doodt processen, met naam of ID, en je kunt de-t schakelaar gebruiken om optioneel de hele procesboom te doden.

    pskill \\computernaam <PID of Naam>

    Het probleem met PsKill is dat de nieuwste versies van Windows hebben een zeer krachtige taak doden hulpprogramma die is ingebouwd in de zogenaamde Taskkill dat heeft veel meer functies.,

    PsList

    dit hulpprogramma is zeer eenvoudig, maar redelijk handig om snel naar een computer te kijken en te zien of iets te veel CPU of geheugen gebruikt. U kunt de naam of een deel van de naam opgeven op de opdrachtregel om de lijst te beperken tot slechts een probleemtoepassing, en u kunt bijna alle informatie zien, inclusief threads.

    OPMERKING: Om dit hulpprogramma op een externe computer te laten werken, moet de Remote registry-service ingeschakeld zijn. Zorg ervoor om te lezen tot het einde van de les, als we uitleggen hoe om te gaan met dat later.,

    PsLoggedOn

    dit hulpprogramma toont accounts die zijn aangemeld op de machine of op afstand verbinding maken. Het is vrij eenvoudig, en grotendeels nuttig in een systeembeheerder soort omgeving.

    PsLogList

    dit hulpprogramma toont een lokaal of extern gebeurtenislogboek op de opdrachtregel, en er zijn een aantal opties die kunnen worden gebruikt voor het filteren van de gegevens.,

    psloglist \\computersysteem

    Er zijn ook de opties-h, -d en-m, waarmee u de lijst met gebeurtenissen kunt beperken tot alleen de laatste X-uren, dagen of minuten. De-n optie geeft de lijst x records, terwijl de-r Schakelaar draait de volgorde, zodat de laatste records zal worden aan de onderkant van de uitvoer. De laatste optie, die we in dit voorbeeld op “Systeem” hebben gezet, is eigenlijk niet nodig — als je het weglaat, zal het systeemlogboek altijd worden getrokken, maar je zou het kunnen veranderen in applicatie of beveiliging om die logs te trekken in plaats daarvan.,

    Het is vermeldenswaard dat als u beheerderstoegang tot de andere computer hebt, u Logboeken kunt openen en verbinding maken in het menu actie kunt kiezen. Voer de naam van de computer in de lijst in, wijzig de referenties indien nodig en ga op die manier naar de gebeurtenislogboeken.

    Het enige scenario waarin we echt kunnen zien dat PsLogList echt nuttig is, is als je iets wilt uitschrijven om een actie uit te voeren in het geval van bepaalde berichten in het gebeurtenislogboek.,

    PsPasswd

    met dit hulpprogramma kunt u de wachtwoorden voor gebruikers wijzigen, zowel lokaal als op afstand. De syntaxis is hetzelfde als al het andere:

    pspasswd \\computer-U User-P Password <AccountToChange> <NewPassword>

    het voordeel van dit hulpprogramma is dat u wachtwoorden voor meerdere computers tegelijk kunt wijzigen, en het werkt ook in een domeinomgeving.,

    PsPing

    dit hulpprogramma pings, controleert poorten, en doet latency en bandbreedte testen. Vrij simpel.,

    psping <servername>

    Of u kunt verbinding met een poort door het toevoegen van het nummer van de poort, zoals deze:

    psping <servername>:80

    Er zijn een ton van de geavanceerde opties voor deze opdracht zal je waarschijnlijk willen controleren moet je ned om te doen wat netwerk problemen oplossen.,

    PsService

    met dit hulpprogramma kunt u Windows-Services vanaf de opdrachtprompt afhandelen. Het is echt heel makkelijk te gebruiken — de syntaxis werkt als volgt:

    psservice \\computernaam <commando> <argumenten>

    De lijst van commando ‘ s kunnen worden gevonden door te kijken naar de help /? opties, maar er zijn een paar opties die je zult merken dat je meer gebruikt dan de rest.,ies de configuratie

  • setconfig – stelt de configuratie
  • start – Start een service
  • stop – stopt een service
  • restart – stopt en herstart vervolgens een service
  • pauze – pauzeert een service
  • cont – zet een gepauzeerde service
  • depend – somt de services op die afhankelijk zijn van de opgegeven
  • find – zoekt naar een instantie van een service op het netwerk
  • beveiliging – rapporteert de beveiligingsmachtigingen toegewezen aan een service
  • in het bijzonder zijn de opties start | stop | pauze | restart | cont heel eenvoudig en gemakkelijk te begrijpen., Bijvoorbeeld in het volgende commando kun je “start” vervangen door een van die andere commando ‘ s.

    psservice \\computernaam start <servicename>

    de andere opties kunnen worden gebruikt om meer informatie over een service te vragen of de configuratie te wijzigen.

    Opmerking: De ingebouwde sc.exe utility heeft een ton van handige functies die overlappen met dit hulpprogramma. Het belangrijkste verschil is dat PsService iets gebruiksvriendelijker is.,

    PsShutdown

    met dit hulpprogramma kunt u een computer afsluiten, afmelden of zelfs in de slaapstand zetten. Het probleem is dat het niet beter is dan de ingebouwde shutdown.exe utility, en is eigenlijk ontworpen voor Windows XP, dus het is aanbevolen om de ingebouwde utility gebruiken in de meeste gevallen.

    De enige optie die PsShutdown biedt die je anders niet kunt krijgen is de switch (- d) om de computer in de slaapstand te zetten, wat handig kan zijn.,

    psshutdown \\computername-d

    u kunt ook de optie-h gebruiken om de computer in de slaapstand te zetten.

    PsSuspend

    dit hulpprogramma lijkt erg op PsKill, maar het doet iets wat de ingebouwde Taskkill utility gewoon niet kan-je kunt processen opschorten in plaats van ze te doden, wat erg handig kan zijn als je een CPU — intensief proces tijdelijk wilt stoppen terwijl je een sysadmin taak voltooit.,

    het opschorten van een proces is zeer eenvoudig:

    pssuspend \\computer <PID of naam>

    en het hervatten van dat proces is gewoon zo eenvoudig — alles wat je hoeft te doen is het toevoegen van de-R Schakelaar.,

    pssuspend \\computer -r <PID of Naam>

    Wanneer de Hulpprogramma ’s niet Aansluiten Omdat van de Remote Registry –

    Sommige van deze programma’ s, inclusief PsInfo, PsList, PsLogList, en PsLoggedOn vereist de remote registry-service is ingeschakeld op de externe computer, en het is niet standaard ingeschakeld op moderne versies van Windows.

    het goede nieuws is dat dit probleem gemakkelijk op te lossen is, en u hoeft Remote Registry niet ingeschakeld te laten., Net deze opdracht uitvoert met behulp van PsService om de service te starten:

    psservice \\computernaam start RemoteRegistry

    En dan als je klaar bent met wat je doet met PsInfo of PsList, kunt u stoppen met de service opnieuw met gebruik van dit commando:

    psservice \\computernaam stoppen RemoteRegistry

    Eenvoudige oplossingen zijn de beste, zijn ze niet?

    volgende les

    zorg ervoor dat u morgen bij ons komt, wanneer we bestanden en schijfhulpprogramma ‘ s behandelen, en wat meer interessante dingen.

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *