I dagens lektion i vores Geek Skole-serien, der dækker SysInternals, vil vi vise dig, hvordan du bruger PsTools sæt af værktøjer til at udføre alle former for administrative opgaver både lokalt og på fjerncomputere så godt.,
Hvis du nogensinde har ønsket at oprette forbindelse til en anden computer og køre en kommando, hurtigt at få oplysninger om kørende og eventuelt dræbe dem, eller endda stoppe en tjeneste på en anden PC, kan du bruge PsTools værktøjer til at gøre alle disse ting og endnu mere.
Selvfølgelig kan du bruge Remote Desktop eller en lignende tjeneste til at oprette forbindelse til en Windows computer, og faktisk kan se skrivebordet og gøre noget, som du ville gøre lokalt, men PsTools utilities giver dig mulighed for at gøre mange opgaver fra kommandolinjen — eller bedre endnu, fra et script, som du kan bruge senere.,
Dette er den type værktøjer, der fungerer bedst i et virksomhedsmiljø, og at mestre disse værktøjer vil bestemt gøre dig meget bedre til dit systemadministrationsjob, spare dig tid og lade dig gøre tingene på en meget smartere måde. At gøre tingene smartere og hurtigere er en kritisk færdighed for at være en stor sysadmin.
Der er tolv værktøjer i PsTools sæt, og mens nogle af dem er meget brugbare, mens andre er blevet erstattet med værktøjer, der er indbygget i nyere versioner af Windows, og der er et par andre, som ikke er nyttige for de fleste mennesker., Vi gennemgår dem alle, så du forstår, hvordan de fungerer, og hvorfor du måske ønsker at bruge hver enkelt.,ent logge på kommandolinjen
Det er værd at bemærke, at du kan bruge et værktøj som PsExec til at udføre alle former for command-line utilities på andre computere,…, herunder virkelig nyttige dem, som Autoruns kommando linje værktøj og mange flere., Mulighederne er uendelige, når du har omfavnet kraften i PsTools.
Alle disse værktøjer kan anvendes på lokale computere, men de er for det meste nyttige til at oprette forbindelse til fjerncomputere og udføre kommandoer på dem.
tilslutning til fjerncomputere ( syntaks for alle hjælpeprogrammer)
alle hjælpeprogrammer kan køres på enten den lokale eller eksterne computer, så de har alle det samme første argument for computernavn, hvis det er nødvendigt. Bemærk, at du kunne bruge IP-adressen, hvis du ønskede i stedet., Hvis du udelader dette argument, fungerer kommandoen på din lokale computer.
psinfo \\computernavn
Du kan også angive flere computere, som psinfo \\computer1, computer2, computer3, eller du kan sætte alle de navne ind i en fil og reference, der gerne psinfo @computerlist.t .t. Den endelige syntaks er psinfo \\*, som opererer på alle computere i domænet, hvilket sandsynligvis ikke er noget, du vil bruge hver dag.,
Hvis du har brug for at oprette forbindelse med alternative legitimationsoplysninger, fordi din lokale computers konto har et andet brugernavn og adgangskode end den anden computer, kan du bruge-U og-p-indstillingerne, selvom vi vil bemærke, at du måske ikke ønsker at bruge-P på kommandolinjen med en adgangskode i kommandoen af sikkerhedsmæssige årsager. Opdatering: fra den seneste version af PSE .ec passerer intet værktøj adgangskoder som klar tekst længere, så den eneste bekymring er, hvis nogen kan læse dine scriptfiler og se adgangskoden der.,
psinfo \\computernavn -u “bruger” -p “Password”
“bruger” er en del af kommandoen vil ændre sig til “DOMÆNE\bruger”, hvis du er i et domæne, miljø og behovet for at skifte fra den aktuelt kørende bruger.
Bemærk: Du skal generelt oprette forbindelse til fjerncomputere med en administratorkonto.
konfiguration af Fjernadministrationsadgang
Hvis du er i et domænemiljø, som de fleste mennesker, der har brug for at bruge PsTools, vil være, kan du ignorere dette afsnit helt, da alt skal fungere fint., For alle, der kører 7indo .s 7, 8 eller Vista i et hjemmemiljø eller bruger et par computere på et kontor uden et domæne, skal du justere Brugerkontokontrol på fjerncomputeren for at tillade PsTools at køre korrekt.
problemet er beskrevet godt af Microsoft:
Når en bruger, der er medlem af den lokale administratorgruppe på målet ekstern computer, der etablerer en ekstern administrative forbindelse ved hjælp af net use * \\remotecomputer\Share$ kommando, for eksempel, de vil ikke slutte som en fuld administrator., Brugeren har intet elevationspotentiale på fjerncomputeren, og brugeren kan ikke udføre administrative opgaver.
for At forklare det på en anden måde, når du forsøger at oprette forbindelse til en anden computer og køre noget, der kræver administrator adgang, der er ingen måde at udløse den UAC prompt og acceptere det fra din computer, så det vil ikke forbinde som administrator.
og det er ikke en dårlig ting., Du bør ikke ændre denne indstilling uden fuldt ud forstå, at du vil være at lade en åbning for malware i at sprede sig fra en computer til en anden — under forudsætning af, at malware er din lokale brugernavnet og adgangskoden, og adgangskoden er den samme, som den anden computer, og den malware, der er det svære, som de fleste er ikke. Men det er stadig ikke noget der skal tages let på.
og igen, hvis du er i et domænemiljø, eksisterer dette problem ikke og behøver ikke ændres. Og hvis du bare tester med en masse virtuelle maskiner, har du ikke meget at bekymre dig om.,
for At justere UAC til at aktivere PsTools til at køre, du ønsker at åbne registreringseditor, og gå til følgende nøgle:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows\CurrentVersion\Policies\System
Når du er der, oprette en ny 32-bit DWORD på højre side, giver det navnet LocalAccountTokenFilterPolicy og værdi på 1. Du behøver ikke at genstarte computeren for at få indstillingen til at træde i kraft.,
Bemærk: bare for at afklare, skal denne indstilling ske på den fjerncomputer, du opretter forbindelse til.
PsExec
PsExec er nok den mest kraftfulde værktøj i det kit, som du kan udføre enhver kommando i din lokale kommandoprompt ligesom at udføre det på den eksterne computer. Det inkluderer alt, hvad der kan køres på kommandolinjen — du kan ændre registreringsdatabaseværdier, køre scripts og værktøjer eller oprette forbindelse fra den PC til en anden., Udgangen af kommandoerne vises på din lokale PC, snarere end på den eksterne.
syntaks er enkle:
psexec \\computernavn <indstillinger> apptorun.exe <argumenter>
Realistisk, selv, du ønsker, til også at omfatte brugernavn og password på kommandolinjen., For eksempel, til at oprette forbindelse til en anden PC, og kontroller netværksforbindelser liste, du vil bruge noget som dette:
psexec \\computernavn -u Bruger -p Password ipconfig
Denne kommando vil producere output, som ligner følgende:
Hvis du ønsker at sende output fra en kommando til en anden kommando, eller du ønsker at omdirigere outputtet til en fil, du normalt ville bare gøre noget som kommando.e .e > udgang.t ,t, og det samme sker med PSE .ec., Så en kommando som følgende gemmer output fra netstat-an i en fil på din lokale computers rodmappe.
psexec \\computernavn netstat-an > C:\connections.txt
Hvis du ønsker at passere > eller | karakter på tværs af de PsExec forbindelse til fjerncomputeren, vil du nødt til at bruge den ^ karakter, som er et lille escape-tegn i Windows kommando shell., Det betyder selvfølgelig, at vi faktisk skal bruge kommandoskallen på fjerncomputeren og ikke bare køre processen, så vi kan gøre omdirigering eller rør i første omgang. Så det gør vores kommando sådan (ændre stien til hjemmemappen, hvor vi har skriveadgang).
psexec \\computernavn cmd /c netstat-an ^> C:\users\geek\connections.,t .t
dette eksempel vil placere listen over åbne forbindelser genereret af netstat i brugerens hjemmekatalog på fjerncomputeren i en fil med navnet connections.t .t.
kopiering af programmer til den eksterne PC
Du er ikke begrænset til kun applikationerne på den eksterne PC, når du bruger PSE .ec, og faktisk kan du køre alt, hvad du har lokalt. For eksempel, hvis du ønskede at gøre en Autoruns kommandolinjeskanning af fjernsystemet, men du havde kun autorunsc.e .e på din lokale computer kan du bruge-C-kontakten til at kopiere applikationen over., Pse .ec fjerner værktøjet fra fjernsystemet, når kommandoen er færdig.
Dette er et vigtigt tidspunkt at nævne-accepteula-indstillingen for de fleste SysInternals-værktøjer, som vil sikre, at EULA er blevet accepteret på den computer, hvor kommandoen er kørt. Vi bliver nødt til at tilføje dette på autorunsc.e .e kommando ellers vil det mislykkes på den eksterne computer.
PSE .ec \\computername-C autorunsc.,e .e-accepteula
Der er et par andre muligheder, der angiver, om applikationen altid kopieres, eller om den skal kopieres, hvis den lokale applikation er en højere version end den eksterne. Du kan bare køre PSE .ec fra prompten for at se disse muligheder.Bemærk: Hvis en kommando kun er tilgængelig i kommandoprompten, skal du tilføje cmd /c før den. Dette omfatter rør og omdirigeringer som / og >.,
interaktion med den bruger, der er logget på på den eksterne PC
Du kan bruge-i-kontakten til at starte applikationen og give den eksterne bruger mulighed for faktisk at interagere med applikationen. Du vil sandsynligvis gerne kombinere dette med-D-kontakten, som ikke venter på, at fjernprocessen slutter, før PSE .ec returnerer kontrol til dig., For eksempel denne kommando vil åbne en Notesblok-vindue, på en ekstern computer:
psexec \\computernavn -d-i notesblok
Du kan også vælge at køre som SYSTEMET bruger med indstillingen-s, som kan være meget farlige. Ønskede at åbne registreringseditoren på din egen computer, men med systembrugerniveau tilladelser, kunne du køre denne kommando.
psexec -i-d-s regedit.,e .e
Hvis du undrer dig, ja, dette vil give dig adgang til en masse ting, som du normalt ikke ville have adgang til at redigere i registreringsdatabasen. Og ja, det er en rigtig dårlig id..
du Kører en Fuld Kommando Prompt gennem PsExec
Ja, vi lige har vist dig alle disse eksempler på, hvordan til at køre en enkelt kommando gennem PsExec… og det viser sig, at du kan køre en fuld shell på din lokale computer, der rent faktisk kører på fjerncomputeren. Det er ligesom du var på konsollen på den server (for det meste)., Og heldigvis er syntaksen til denne virkelig let (Tilføj brugernavnet, hvis du har brug for det).
PSE .ec \\computernavn cmd.e .e
Når du har gjort dette, har du en kommandoprompt, der nu kører på den eksterne PC.
kommandoprompten fungerer næsten som normalt, bortset fra at fanen er færdig, vil det slet ikke fungere, men det er bare fint med os.,
det er værd at bemærke, at hvis du vil køre Po .ershell-kommandoer eksternt på en anden computer, kan du gøre det indbygget med nogle justeringer til konfigurationen. Desværre virker Po .ershell ikke meget pænt med PSE .ec, medmindre du bruger en masse underlige løsninger, der ikke er umagen værd.
Andre Indstillinger
psexec kommando har et væld af andre nyttige indstillinger, som du kan bruge — hver af disse ville blive brugt i den plads, lige efter \\computernavn, og før nogen af de andre kommandoer., Så tænk PSE .ec \ \ computername-option <fjernkommando>.
Hvis du bare kører PSE .ec-kommandoen fra prompten uden ekstra s .itches, vil du se dem alle.
PsFile
denne kommando viser filer, der i øjeblikket åbnes over netværket på en lokal PC eller en ekstern PC, og den fungerer på samme måde som commandindo .s “net file” – kommandoen. Syntaksen er ligesom enhver anden kommando i sættet.
psfile \\computername
Ja, Denne er ikke så sjov som den sidste.,
Hvis du vil lukke en af filerne og afbryde personen fra ressourcen, kan du lukke forbindelsen ved hjælp af-C-indstillingen, selvom det kan resultere i tab af data, da filen ikke blev lukket korrekt.
psfile \\computernavn <sti> -c
PsGetSid
Det viser sikkerheds-id for en computer eller brugeren, og tager standard argumenter., Dette værktøj er sandsynligvis kun nyttigt i meget bestemte scenarier, som vi ikke personligt har stødt på. Så prøv det en gang og glem det, indtil du skal bruge det en dag.
PsInfo
denne kommando viser masser af nyttige oplysninger om et system, herunder oppetiden, hvilket er meget sjovt. Du kan køre denne lokalt for at teste den ud ved blot at skrive psinfo ved kommandoprompten, forudsat at dine SysInternals-værktøjer er i stien.,
Hvis du ønsker at få meget mere information ud af PsInfo, og jeg kender dig ikke, så du kan bruge følgende parametre for at tilføje disk-oplysninger (-d), og programrettelser (-h) og en liste over installerede programmer, og deres versioner (-s).,
psinfo -d -h -s –
Dette resulterer i en masse mere oplysninger, selv på en næsten tom virtuelle maskine:
Du kan også køre PsInfo eksternt ved at tilføje navnet på computeren og eventuelt brugernavn skifter… men der er ét stort problem: det vil ikke fungere, medmindre Remote Registry tjenesten er aktiveret. Gå til slutningen af artiklen, hvor vi taler om, hvordan du aktiverer den på fjerncomputeren.,
PsKill
denne kommando er virkelig enkel — den dræber processer ved enten navn eller ID, og du kan bruge-T-kontakten til valgfrit at dræbe hele procestræet.
pskill \\computernavn <PID eller Navn>
problemet med PsKill er, at de nyeste versioner af Windows har en meget kraftfuld opgave at dræbe utility indbygget i kaldet Taskkill, der har en masse flere funktioner.,
PsList
dette værktøj er ekstremt simpelt, men ret praktisk til hurtigt at se på en computer og se, om noget bruger for meget CPU eller hukommelse. Du kan angive navnet eller en del af navnet på kommandolinjen for at indsnævre listen til bare et problemprogram, og du kan se næsten alle oplysninger inklusive tråde.
Bemærk: For at få dette værktøj til at fungere på en fjerncomputer, skal du have fjernregistertjenesten aktiveret. Sørg for at læse til slutningen af lektionen, da vi forklarer, hvordan vi skal håndtere det senere.,
PsLoggedOn
dette værktøj viser konti, der er logget på enten på maskinen eller tilsluttes eksternt. Det er ret simpelt og stort set nyttigt i en systemadministrator type miljø.
PsLogList
dette værktøj viser en lokal eller ekstern hændelseslog på kommandolinjen, og der er en række muligheder, der kan bruges til filtrering af dataene.,
psloglist \\computer System
Der er også -h, -d og -m-indstillinger, som du kan indsnævre listen af begivenheder, at bare de sidste x timer, dage eller minutter. Indstillingen-n viser listen records poster, mens parameteren-r vender rækkefølgen, så de nyeste poster vil være i bunden af output. Den sidste mulighed, som vi satte til “System” i dette eksempel, er faktisk ikke nødvendig — hvis du udelader det, vil systemloggen altid blive trukket, men du kan ændre den til applikation eller sikkerhed for at trække disse logfiler i stedet.,
Det er værd at bemærke, at hvis du har administrator adgang til den anden computer, kan du blot åbne logbog og vælg opret Forbindelse i menuen Handling. Indtast computernavnet på listen, Skift legitimationsoplysninger, hvis du har brug for det, og få adgang til hændelseslogfilerne på den måde.
Det eneste scenario, hvor vi virkelig kan se PsLogList er virkelig nyttigt, hvis du ønsker at scriptet ud af noget, at udføre en handling i tilfælde af visse meddelelser i hændelseslogfilen.,
Pspassdd
dette værktøj giver dig mulighed for at ændre adgangskoder til brugere, både lokale og eksterne. Syntaksen er den samme som alt det andet:
pspasswd \\computer -u Bruger -p Password <AccountToChange> <NewPassword>
Den fordel, at dette værktøj i løbet af blot bruger NET BRUGEREN fra den almindelige kommando prompten er, at du kan ændre adgangskoder for flere computere på en gang, og det virker i et domæne miljø så godt.,
PsPing
dette værktøj pinger, kontrollerer porte, og gør latency og båndbredde test. Ret simpelt.,
psping <servername>
Eller du kan tjekke tilslutning til en port ved at tilføje port nummer som dette:
psping <servername>:80
Der er et væld af avancerede indstillinger til denne kommando, du vil sandsynligvis ønsker at tjekke ud, bør du ned for at gøre nogle fejlfinding i forbindelse med netværk.,
PsService
dette værktøj giver dig mulighed for at håndtere Servicesindo .s-tjenester fra kommandoprompten. Det er faktisk ganske nem at bruge — syntaksen fungerer sådan her:
psservice \\computernavn <kommandoen> <argumenter>
Listen over kommandoer kan findes ved at se på help /? muligheder, men der er et par muligheder, som du finder dig selv ved hjælp af mere end resten.,erne konfiguration
især på start | stop | pause | start | fortsæt valg er virkelig enkel og let at forstå., For eksempel i den følgende kommando kan du erstatte “start” med nogen af disse andre kommandoer.
psservice \\computernavn start <servicename>
andre valg kan bruges til at søge mere information om en tjeneste, eller ændre konfigurationen.
Bemærk: den indbyggede sc.e .e utility har et væld af nyttige funktioner, der overlapper med dette værktøj. Den væsentligste forskel er, at PsService er lidt mere brugervenlig.,
Psshutdo .n
dette værktøj giver dig mulighed for at lukke ned, logge af eller endda sætte en computer i dvaletilstand. Problemet er, at det ikke er bedre end den indbyggede nedlukning.e .e utility, og var faktisk designet til .indo .s .p, så det anbefales at bruge det indbyggede værktøj i stedet i de fleste tilfælde.
den ene mulighed, som Psshutdo .n giver, at du ikke kan få andet, er kontakten (-d) for at sætte computeren i dvaletilstand, hvilket kan være praktisk.,
psshutdown \\computernavn -d
Du kan også bruge den -h mulighed for at sætte computeren i dvaletilstand i stedet for.
PsSuspend
Dette værktøj er meget lig PsKill, men det gør ikke noget, at den indbyggede Taskkill utility kan bare ikke — du kan suspendere processer snarere end at dræbe dem, hvilket kan være meget praktisk, hvis du vil midlertidigt stoppe en CPU-intensiv proces fra at køre, mens du udfylde en sysadmin opgave.,
Suspendere en proces, der er meget let:
pssuspend \\computer <PID eller Navn>
Og genoptagelse af, at processen er lige så nemt — alt du skal gøre er at tilføje parameteren-r.,
pssuspend \\computer -r <PID eller Navn>
Når Utilities Vil ikke Slutte på Grund af Remote Registry
Nogle af disse værktøjer, herunder PsInfo, PsList, PsLogList, og PsLoggedOn kræver remote registry tjenesten være aktiveret på fjerncomputeren, og det er ikke aktiveret som standard på moderne versioner af Windows.
den gode nyhed er, at dette problem er let Fi .able, og du behøver ikke at forlade Remote Registry aktiveret., Bare køre denne kommando ved hjælp af PsService at starte tjenesten:
psservice \\computernavn start RemoteRegistry
Og så når du er færdig med hvad du gør med PsInfo eller PsList, kan du stoppe tjenesten igen bruge denne kommando:
psservice \\computernavn stop RemoteRegistry
Enkle løsninger er de bedste, er de ikke?
næste lektion
sørg for at være med i morgen, når vi dækker fil-og diskværktøjer og nogle mere interessante ting.