ved Hjelp av PsTools til å Kontrollere Andre Pcer fra kommandolinjen

I dagens leksjon i vår Geek School-serien, som dekker SysInternals, vi kommer til å vise deg hvordan du bruker PsTools sett av verktøy for å utføre alle slags administrasjon oppgaver, både lokalt og på eksterne datamaskiner som godt.,

Hvis du noensinne har ønsket å koble til en annen datamaskin og kjøre en kommando, raskt få informasjon om prosesser som kjører, og om du vil drepe dem, eller stoppe en tjeneste på en annen PC, kan du bruke PsTools verktøy for å gjøre alt dette og enda mer.

Selvfølgelig kan du bruke Remote Desktop eller en lignende tjeneste for å koble til en Windows-datamaskin og faktisk se skrivebordet og gjøre alt som du ville gjøre lokalt, men PsTools verktøy tillate deg å gjøre mange oppgaver fra kommando-linjen — eller enda bedre, fra et skript som du kan bruke på nytt senere.,

Dette er den type verktøy som fungerer best i et bedriftsmiljø, og mestre disse verktøyene vil definitivt gjøre deg mye bedre på systemet administrasjon jobb, sparer du tid, og lar deg gjøre ting på en mye smartere måte. Å gjøre ting smartere og raskere er en viktig ferdighet for å være en stor sysadmin.

Det er tolv verktøy i PsTools sett, og mens noen av dem er svært nyttig, andre har blitt erstattet med verktøy som er bygget i nyere versjoner av Windows, og det er et par andre som ikke er nyttig for folk flest., Vi vil gå gjennom alle av dem, slik at du forstår hvordan de fungerer og hvorfor du kanskje vil bruke hver og en.,ent logg på kommandolinjen

  • PsPasswd – endre passord for brukere
  • PsPing – en ganske enkel ping-verktøyet med noen ekstra funksjoner
  • PsService – liste og gjøre endringer i Windows-tjenester
  • PsShutdown – stengt ned, logge av, eller suspendere en datamaskin
  • PsSuspend – pause og gjenoppta prosesser (snarere enn å drepe dem)
  • Det er verdt å merke seg at du kan bruke et verktøy som PsExec til å utføre alle slags command-line verktøy på eksterne datamaskiner… herunder virkelig nyttige seg som den Autokjør-kommando linje verktøy og mange flere., Mulighetene er uendelige når du har tatt imot strøm av PsTools.

    Alle disse verktøyene kan brukes på lokale datamaskiner, men de er hovedsakelig nyttig for å koble til eksterne datamaskiner og utføre kommandoer på dem.

    Koble til Eksterne Datamaskiner ( Syntaks for Alle Verktøy)

    Alle av utilities kan kjøres på enten lokal eller ekstern datamaskin, så de har alle de samme første argument for navn på datamaskinen hvis det er nødvendig. Merk at du kan bruke IP-adressen hvis du ønsket i stedet., Hvis du utelater dette argumentet, kommandoen skal operere på din lokale datamaskin.

    psinfo \\datamaskinnavn

    Du kan også liste opp flere datamaskiner som psinfo \\datamaskin1, computer2, computer3, eller du kan sette alle navnene inn i en fil og referanse som liker psinfo @computerlist.txt. Den endelige syntaks er psinfo \\* virker på alle datamaskinene i domenet, noe som sannsynligvis ikke er noe du skal bruke hver dag.,

    Hvis du trenger å koble med alternative legitimasjon fordi den lokale datamaskinen din konto har et annet brukernavn og passord enn den andre datamaskinen, kan du bruke-u og -s valg, selv om vi hadde oppmerksom på at du kanskje ikke ønsker å bruke-p på kommando linje med et passord i kommando av sikkerhetsmessige grunner. Oppdatering: som i den nyeste utgaven av PsExec, ingen verktøy passerer passord som klartekst lenger, så den eneste bekymring er hvis noen kan lese script filer og se passordet der.,

    psinfo \\datamaskinnavn -u «bruker» -p «Passord»

    «brukeren» delen av kommandoen ville endre til «DOMENE\bruker» hvis du er i et domene, miljø og behov for å endre fra de som kjører for øyeblikket bruker.

    Merk: du vil vanligvis være nødvendig å koble til eksterne datamaskiner på med en administratorkonto.

    Konfigurering av Ekstern Administrasjon Tilgang

    Hvis du er i et domene, miljø, som de fleste folk som trenger å bruke PsTools vil være, kan du ignorere denne delen helt som alt skal fungere helt fint., For alle som kjører Windows 7, 8, eller Vista i et hjemmemiljø eller ved hjelp av et par av datamaskiner i et kontor uten et domene, vil du trenger å justere for Kontroll av brukerkonto på den eksterne datamaskinen for å tillate PsTools til riktig kjøre.

    problemet er beskrevet godt av Microsoft:

    Når en bruker som er medlem av den lokale administratorer-gruppen på mål eksterne datamaskinen etablerer en ekstern administrative tilkobling ved å bruke net use * \\remotecomputer\Dele$ kommando, for eksempel, vil de ikke koble til som en full administrator., Brukeren har ingen heving potensial på den eksterne datamaskinen, og brukeren kan ikke utføre administrative oppgaver.

    for Å forklare det på en annen måte, når du prøver å koble til en annen datamaskin og kjøre noe som krever administrator-tilgang, det er ingen måte å utløse UAC-spørsmål og akseptere det fra datamaskinen, så det vil ikke koble til som administrator.

    Og dette er ikke en dårlig ting., Du bør ikke endre denne innstillingen uten helt å forstå at du vil bli slik at en åpning for malware å spre seg fra én datamaskin til en annen — forutsatt at skadelig programvare har din lokale brukernavn og passord, og dette passordet er den samme som den andre datamaskinen, og malware som vanskelig, som de fleste ikke er det. Men det fortsatt ikke noe å bli tatt lett på.

    Og igjen, hvis du er i et domene, miljø, er dette problemet ikke finnes, og ikke trenger å bli endret. Og hvis du er bare for å teste med en haug av virtuelle maskiner, trenger du ikke mye å bekymre seg for.,

    for Å justere UAC for å aktivere PsTools å kjøre, vil du ønsker å åpne opp registerredigering, og naviger til følgende nøkkel:

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

    Når du er der, opprette en ny 32-bit DWORD på høyre side, gi den navn LocalAccountTokenFilterPolicy og verdien av 1. Du trenger ikke starte datamaskinen på nytt for at innstillingen skal tre i kraft.,

    Merk: bare for å klargjøre, denne innstillingen må skje på den eksterne datamaskinen som du kobler til.

    PsExec

    PsExec er trolig den mest kraftfulle verktøyet i settet, så du kan utføre en kommando i din lokale ledeteksten akkurat som utfører det på den eksterne datamaskinen. Det inneholder noe som kan kjøres på kommando-linje — du kan endre registeret verdier, kjøre skript og verktøy, eller koble fra en PC til en annen., Resultatet av kommandoer bli vist på din lokale PC, snarere enn på den eksterne ett.

    syntaksen er enkel:

    psexec \\datamaskinnavn <valg> apptorun.exe <argumenter>

    Realistisk, skjønt, du vil også omfatte brukernavn og passord på kommandolinjen., For eksempel, for å koble til en annen PC og kontrollere nettverkstilkoblingen listen, vil du bruke noe sånt som dette:

    psexec \\datamaskinnavn -u Bruker -p Passord ipconfig

    Som kommando vil produsere et resultat som ligner på følgende:

    Hvis du ønsker å passere output fra en kommando til en annen kommando, eller du ønsket å omdirigere utdata til en fil, som du normalt ville bare gjøre noe som kommando.exe > utdata.txt, og det samme skjer med PsExec., Så en kommando som følgende vil lagre output av netstat -en til en fil på din Lokale datamaskin root directory.

    psexec \\datamaskinnavn netstat -en > C:\connections.txt –

    – >

    Hvis du ønsker å passere > eller | tegn over PsExec tilkoblingen til den eksterne datamaskinen, du kommer til å trenge å bruke ^ karakter, som er en lite kjent escape-tegnet i Windows command shell., Som, selvfølgelig, betyr at vi faktisk trenger å bruke kommandoen shell på den eksterne datamaskinen, og ikke bare kjøre prosessen, slik at vi kan gjøre omdirigere eller rør i første omgang. Så som gjør vår kommando som denne (endre banen til hjemmekatalogen hvor vi har skrivetilgang).

    psexec \\datamaskinnavn cmd /c netstat -en ^> C:\users\geek\connections.,txt –

    – >

    Dette eksemplet ville sted listen over åpne tilkoblinger som er generert av netstat i hjemmekatalogen til brukeren på den eksterne datamaskinen, i en fil som heter tilkoblinger.txt.

    Kopiere Programmer til Ekstern PC

    Du er ikke begrenset til bare programmer på den eksterne PCEN når du bruker PsExec, og du kan faktisk kjøre noe som du har lokalt. For eksempel, hvis du ønsket å gjøre en Autokjør-kommando-linje skanning av systemet, men du bare hadde autorunsc.exe på den lokale datamaskinen, kan du bruke-c-bryteren for å kopiere programmet over., PsExec vil fjerne verktøyet fra det eksterne systemet når kommandoen er ferdig.

    Dette er en viktig tid å nevne -accepteula alternativet for de fleste av SysInternals-verktøy, som vil sørge for at AVTALEN har blitt akseptert på datamaskinen der kommandoen er kjørt. Vi må legge til denne på autorunsc.exe-kommandoen eller det ellers vil mislykkes på den eksterne datamaskinen.

    psexec \\datamaskinnavn -c autorunsc.,exe -accepteula

    Det er noen andre alternativer som angir om programmet er alltid kopiert, eller om det skal kopieres hvis det lokale programmet er en nyere versjon enn den eksterne ett. Du kan bare kjøre psexec fra ledeteksten hvis du vil se disse alternativene.

    Merk: Hvis en kommando er kun tilgjengelig i ledeteksten, må du legge cmd /c før det. Dette inkluderer rør og omdirigeringer som | og >.,

    Samspill med den påloggede Brukeren på den Eksterne PCEN

    Du kan bruke den -jeg bryteren til å gjøre programmet starte og la den eksterne brukeren til å faktisk samhandle med programmet. Ville du sannsynligvis ønsker å kombinere dette med -d-bryteren, som ikke vent til ekstern prosess for å avslutte før PsExec tilbake kontrollen til deg., For eksempel vil denne kommandoen åpner en Notisblokk-vinduet på en ekstern datamaskin:

    psexec \\datamaskinnavn -d -jeg notisblokk

    Du kan også velge å kjøre som SYSTEMET bruker med alternativet-s, som kan være svært farlig. For eksempel, hvis du ønsket å åpne registerredigering på din egen datamaskin, men med SYSTEMET bruker-nivå tillatelser, kan du kjøre denne kommandoen.

    psexec -i-d -s inn regedit.,exe –

    – >

    I tilfelle du lurer, ja, dette vil gi deg tilgang til en rekke ting som du vanligvis ikke ville ha tilgang til å redigere i registeret. Og ja, det er en veldig dårlig idé.

    å Kjøre en Full Ledeteksten gjennom PsExec

    Ja, vi bare viste deg alle de eksempler på hvordan det å kjøre en enkelt kommando gjennom PsExec… og det viser seg at du kan kjøre en full shell på din lokale datamaskin som faktisk kjører på den eksterne datamaskinen. Det er akkurat som du var på konsollen på serveren (for det meste)., Og heldigvis, syntaksen for dette er veldig lett (legg til brukernavn hvis du må).

    psexec \\datamaskinnavn cmd.exe –

    – >

    Når du har gjort dette, vil du ha en ledetekst som nå kjører på den eksterne PCEN.

    – ledeteksten vil fungere nesten som vanlig, bortsett fra kategorien ferdigstillelse ikke kommer til å fungere i det hele tatt, men det er bare fint med oss.,

    Det er verdt å merke seg at hvis du ønsker å kjøre PowerShell-kommandoer eksternt på en annen datamaskin, kan du gjøre det smertefritt med noen endringer i konfigurasjonen. Dessverre PowerShell ikke fungerer veldig fint med PsExec med mindre du bruker en haug med rare løsninger som ikke er verdt.

    Andre Valg

    psexec kommandoen har massevis av andre virkelig nyttige alternativer som du kan bruke — hver av disse vil bli brukt i rommet rett etter \\datamaskinnavn og før noen av de andre kommandoene., Så tror psexec \\datamaskinnavn -alternativet <ekstern kommando>.

    Hvis du bare kjøre psexec kommando fra ledeteksten uten noen ekstra brytere, du vil se dem alle.

    PsFile

    Denne kommandoen viser filer som er åpnet over nettverket, på en lokal PC eller en ekstern PC, og det fungerer på samme måte som Windows «net file» – kommandoen. Syntaksen er akkurat som en hvilken som helst annen kommando i settet.

    psfile \\datamaskinnavn

    Ja, dette er ikke så morsom som den siste.,

    Hvis du vil lukke en av filer og koble fra person fra ressursen, kan du lukke tilkoblingen ved hjelp av den -c alternativ, selv om det kan resultere i tap av data siden filen ble ikke lukket på riktig måte.

    psfile \\datamaskinnavn <banen> c

    PsGetSid

    Dette viser security-identifikator for en datamaskin eller bruker, og tar standard-argumenter., Dette verktøyet er sannsynligvis bare nyttig i svært spesielle scenarier, som vi ikke har personlig møtt noen. Så prøv det en gang og glemme om det før du trenger å bruke den en dag.

    PsInfo

    Denne kommandoen lister opp massevis av nyttig informasjon om et system, inkludert oppetid, som er mye moro. Du kan kjøre dette lokalt for å teste det ut ved ganske enkelt å skrive psinfo ved ledeteksten, og vi antar at SysInternals-verktøy som er i veien.,

    Hvis du ønsker å få en mye mer informasjon ut av PsInfo, og jeg vet at du gjør, så kan du bruke følgende brytere for å legge til disk informasjon (-d) og hurtigreparasjoner (-h), og en liste over installerte programmer og versjoner (-s).,

    psinfo -d -h -s

    Dette resulterer i en mye mer informasjon, selv på en nesten tom virtuell maskin:

    Du kan også kjøre PsInfo eksternt ved å legge til navnet på datamaskinen og eventuelt brukernavn brytere… men det er ett stort problem: det vil ikke fungere med mindre den Eksterne Register-tjenesten er aktivert. Hode til slutten av artikkelen hvor vi snakker om hvordan du aktiverer den på den eksterne datamaskinen.,

    PsKill

    Denne kommandoen er veldig enkelt — det dreper prosesser, enten ved navn eller ID, og du kan bruke den -t-bryteren for eventuelt å drepe hele prosessen treet.

    pskill \\datamaskinnavn <PID eller Navn>

    problemet med PsKill er at de nyeste versjonene av Windows har en svært kraftig oppgave å drepe verktøy innebygd kalt Taskkill som har mange flere funksjoner.,

    PsList

    Dette verktøyet er svært enkel, men ganske nyttig for raskt å se på en datamaskin, og se om noe er bruker for mye CPU eller minne. Du kan angi navn eller deler av navnet på kommandolinjen for å begrense listen til bare et problem-program, og du kan se nesten alle opplysninger, herunder tråder.

    Merk: Hvis du vil gjøre dette verktøyet arbeide på en ekstern datamaskin, vil du trenger for å ha remote registry-tjenesten aktivert. Sørg for å lese til slutten av leksjonen, så forklarer vi hvordan du avtale med det senere.,

    PsLoggedOn

    Dette verktøyet inneholder kontoer som er logget på, enten på maskinen eller til å koble til eksternt. Det er ganske enkelt, og i stor grad nyttig i en system administrator type miljø.

    PsLogList

    Dette verktøyet viser en lokal eller ekstern hendelsesloggen på kommandolinjen, og det finnes en rekke alternativer som kan brukes for å filtrere data.,

    psloglist \\datamaskin System

    Det er også -h, -d og -m alternativer, som lar deg begrense listen over hendelser for å bare den siste x timer, dager, eller minutter. -N-valget viser listen x-poster, mens -r-bryteren reverserer rekkefølgen, slik at de siste postene vil være på bunnen av-utgang. Det siste alternativet, som vi satt i «System» i dette eksemplet, er faktisk ikke nødvendig dersom du utelater det, systemloggen vil alltid bli trukket, men du kan endre det til et Program eller Sikkerhet for å trekke de logger seg i stedet.,

    Det er verdt å merke seg at hvis du har administrator tilgang til den andre datamaskinen, kan du ganske enkelt åpne hendelsesliste, og velg Koble fra Handling-menyen. Skriv inn navnet på datamaskinen i listen, endre påloggingsinformasjonen hvis du trenger til, og ha tilgang til hendelseslogger på den måten.

    Den eneste scenario der vi virkelig kan se PsLogList å være virkelig nyttig hvis du ønsket å skriptet ut noe for å utføre en handling i tilfelle av visse meldinger i hendelsesloggen.,

    PsPasswd

    Dette verktøyet gir deg muligheten til å endre passord for brukere, både lokale og eksterne. Syntaksen er den samme som alt annet:

    pspasswd \\datamaskin -u Bruker -p Passord <AccountToChange> <NewPassword>

    Fordelen til dette verktøyet over bare ved hjelp av NET USER fra den vanlige ledeteksten er at du kan endre passord på flere datamaskiner på en gang, og det fungerer i et domene miljøet som godt.,

    PsPing

    Dette verktøyet pinger, sjekker porter, og gjør latency og båndbredde testing. Ganske enkelt.,

    psping <servernavn>

    Eller du kan sjekke tilkobling til en port ved å legge til port nummer som dette:

    psping <servernavn>:80

    Det er massevis av avanserte alternativer til denne kommandoen du vil sannsynligvis ønske å sjekke ut bør du ned for å gjøre noen nettverk feilsøking.,

    PsService

    Dette verktøyet gir deg muligheten til å håndtere Windows-Tjenester fra ledeteksten. Det er egentlig ganske lett å bruke — syntaks fungerer som dette:

    psservice \\datamaskinnavn <kommandoen> <argumenter>

    Listen over kommandoer som kan bli funnet ved å se på help /? valg, men det er noen alternativer som du vil finne deg selv å bruke mer enn resten.,tallet konfigurasjonen

  • setconfig – Angir konfigurasjon
  • start – Starter en service
  • stopp – Stopper en tjeneste
  • start – Stopper og starter deretter på nytt en tjeneste
  • pause – tar Pause en tjeneste
  • cont – Fortsetter en pause service
  • avhenge – Nummererer de tjenester som avhenger av en bestemt
  • finn – Søk for en forekomst av en tjeneste på nettverk
  • sikkerhet – Rapporter sikkerhet tillatelser som er tilordnet til en tjeneste
  • I særdeleshet, start | stopp | pause | start | cont alternativer er veldig enkelt og lett å forstå., For eksempel i følgende kommando kan du erstatte «start» med noen av de andre kommandoer.

    psservice \\datamaskinnavn start <tjenestenavn>

    andre valg kan brukes til å søke mer informasjon om en tjeneste, eller endre konfigurasjonen.

    Merk: den innebygde sc.exe-verktøyet har massevis av nyttige funksjoner som overlapper med dette verktøyet. Den viktigste forskjellen er at PsService er litt mer brukervennlig.,

    PsShutdown

    Dette verktøyet gir deg mulighet til å stenge ned, logge av, eller selv sette datamaskinen i hvilemodus. Problemet er at det ikke er bedre enn den innebygde avslutning.exe-verktøyet, og ble faktisk designet for Windows XP, så det er anbefalt å bruke den innebygde verktøy i stedet for i de fleste tilfeller.

    ett alternativ som PsShutdown gir som du ikke kan få på annen måte er bryteren (-d) til å sette maskinen i sove-modus, noe som kan være nyttig.,

    psshutdown \\datamaskinnavn -d

    Du kan også bruke -h-alternativet til å sette maskinen i dvalemodus i stedet.

    PsSuspend

    Dette verktøyet er svært lik PsKill, men det gjør noe at den innebygde Taskkill utility bare ikke kan — du kan suspendere prosesser snarere enn å drepe dem, noe som kan være veldig nyttig hvis du ønsker å midlertidig stoppe en CPU-intensiv prosess fra å kjøre mens du fullfører en sysadmin oppgave.,

    Suspendere en prosess som er svært enkel:

    pssuspend \\datamaskin <PID eller Navn>

    Og gjenoppta denne prosessen er bare så enkelt — alt du trenger å gjøre er å legge til -r-bryteren.,

    pssuspend \\datamaskin -r <PID eller Navn>

    Når Verktøy Vil ikke Koble seg på Grunn av Eksterne Register

    Noen av disse verktøyene, inkludert PsInfo, PsList, PsLogList, og PsLoggedOn krever ekstern registret tjenesten være aktivert på den eksterne datamaskinen, og den er ikke aktivert som standard i moderne versjoner av Windows.

    De gode nyhetene er at dette problemet er lett rettes opp, og du behøver ikke la Eksterne Register aktivert., Bare kjør denne kommandoen bruker PsService å starte tjenesten:

    psservice \\datamaskinnavn start RemoteRegistry

    Og så når du er ferdig med uansett hva du gjør med PsInfo eller PsList, kan du stoppe tjenesten på nytt ved hjelp av denne kommandoen:

    psservice \\datamaskinnavn stoppe RemoteRegistry

    Enkle løsninger er de beste, er de ikke?

    Neste Leksjon

    sørg for å bli med oss i morgen, når vi dekker fil og disk verktøy, og noen mer interessante ting.

    Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *