Använda PsTools för att styra andra datorer från kommandoraden
I dagens lektion i vår Geek School-serie som täcker SysInternals, kommer vi att visa dig hur du använder PsTools uppsättning verktyg för att utföra alla slags administrativa uppgifter både lokalt och på fjärrdatorer.
SCHOOL NAVIGATION- Vad är SysInternals Tools och hur använder du dem?
- Förstå Process Explorer
- Använda Process Explorer för att felsöka och diagnostisera
- Förstå Process Monitor
- Använda Process Monitor för att felsöka och hitta registerhackar
- Använda Autoruns att hantera startprocesser och skadlig kod
- Använda BgInfo för att visa systeminformation på skrivbordet
- Använda PsTools för att styra andra datorer från kommandoraden
- Analysera och hantera dina filer, mappar och enheter
- Förpackning och användning av verktygen tillsammans
Om du någonsin velat ansluta till en annan dator och köra ett kommando, snabbt få information om processer som körs och eventuellt döda dem, eller till och med sluta en tjänst på en annan dator, kan du använda PsTools verktyg för att göra alla dessa saker och till och med Mer.
Självklart kan du använda fjärrskrivbord eller liknande tjänst för att ansluta till någon Windows-dator och faktiskt se skrivbordet och göra allt som du skulle göra lokalt, men med hjälp av PsTools-verktyg kan du göra många uppgifter från kommandoraden - eller bättre än, från ett manus som du kan använda senare.
Det här är den typ av verktyg som fungerar bäst i en företagsmiljö. Att mastera dessa verktyg kommer definitivt att göra dig mycket bättre på ditt systemadministrationsjobb, spara tid och låta dig göra saker på ett mycket smartare sätt. Att göra saker smartare och snabbare är en kritisk färdighet för att vara en bra sysadmin.
Det finns tolv verktyg i PsTools-uppsättningen, och vissa av dem är extremt användbara, men andra har ersatts av verktyg som byggts in i nyare versioner av Windows, och det finns några andra som inte är användbara för de flesta. Vi går igenom alla dem så att du förstår hur de fungerar och varför du kanske vill använda var och en.
- PsExec - kör processer på en fjärrdator
- PsFile - visar filer som öppnas på fjärrdatorn via nätverket
- PsGetSid - visar säkerhetsidentifieraren för en dator eller användare
- PsInfo - listar information om ett system
- PsKill - dödar processer med namn eller ID
- PsList - lista information om processer på kommandoraden
- PsLoggedOn - lista konton som är inloggade på antingen på maskinen eller ansluta på distans
- PsLogList - dra händelseloggen på kommandoraden
- PsPasswd - ändra lösenordet för användare
- PsPing - ett ganska enkelt pingverktyg med några ytterligare funktioner
- PsService - lista och göra ändringar i Windows-tjänster
- PsShutdown - Stäng av, logga av eller stänga av en dator
- PsSuspend - suspendera och återuppta processer (istället för att döda dem)
Det är värt att notera att du kan använda ett verktyg som PsExec att utföra alla typer av kommandoradsverktyg på fjärrdatorer ... inklusive riktigt användbara sådana som kommandoradsverktyget Autoruns och många fler. Möjligheterna är oändliga när du har tagit om kraften i PsTools.
Alla dessa verktyg kan användas på lokala datorer, men de är mest användbara för att ansluta till fjärrdatorer och utföra kommandon på dem.
Anslutning till fjärrdatorer (syntax för alla verktyg)
Alla användningsområden kan köras på antingen den lokala eller fjärranslutna datorn, så alla har samma första argument för datornamn om det behövs. Observera att du kan använda IP-adressen om du vill ha det istället. Om du släpper bort detta argument kommer kommandot att fungera på din lokala dator.
psinfo \\ databasnamn
Du kan också lista flera datorer som psinfo \\ computer1, computer2, computer3, eller du kan lägga alla namn i en fil och referera till det som psinfo @ computerlist.txt. Den slutliga syntaxen är psinfo \\ * som fungerar på alla datorer i domänen, vilket förmodligen inte är något du ska använda varje dag.
Om du behöver ansluta till alternativa uppgifter eftersom din lokala dators konto har ett annat användarnamn och lösenord än den andra datorn kan du använda alternativen -u och -p, men vi noterar att du kanske inte vill använda -p på Kommandoraden med ett lösenord i kommandot av säkerhetsskäl. Uppdatering: Med den senaste versionen av PsExec skickas inget verktyg längre än lösenord, så det enda oroet är om någon kan läsa dina skriptfiler och se lösenordet där.
psinfo \\ datornamn -u "användare" -p "lösenord"
"Användarens" del av kommandot skulle ändras till "DOMAIN \ user" om du befinner dig i en domänmiljö och behöver byta från den nuvarande användaren.
Notera: i allmänhet behöver du ansluta till fjärrdatorn med ett administratörskonto.
Konfigurera åtkomst till fjärråtkomst
Om du befinner dig i en domänmiljö, som de flesta som behöver använda PsTools kommer att vara, kan du ignorera det här avsnittet helt eftersom allt ska fungera bra. För alla som kör Windows 7, 8 eller Vista i en hemmiljö eller använder ett par datorer på ett kontor utan en domän måste du anpassa användarkontokontroll på fjärrdatorn för att låta PsTools köra korrekt.
Problemet beskrivs bra av Microsoft:
När en användare som är medlem i gruppen för lokala administratörer på fjärrdatorn för fjärrstyrning etablerar en fjärransluten administrativ anslutning genom att använda kommandot för nätanvändning * \\ remotecomputer \ Share $, till exempel, kommer de inte att anslutas som en fullständig administratör. Användaren har ingen höjdpotential på fjärrdatorn, och användaren kan inte utföra administrativa uppgifter.
För att förklara det på ett annat sätt, när du försöker ansluta till en annan dator och köra något som kräver administratörsbehörighet, kan du inte aktivera UAC-prompten och acceptera den från din dator, så den kommer inte att anslutas som administratör.
Och det här är inte en dålig sak. Du bör inte ändra den här inställningen utan att helt förstå att du kommer att tillåta att en öppning för skadlig kod sprids från en dator till en annan - förutsatt att skadlig programvara har ditt lokala användarnamn och lösenord, och det lösenordet är detsamma som den andra datorn och malware är så knepigt, vilket mest inte är. Men det är fortfarande inte något som ska tas lätt.
Och om du befinner dig i en domänmiljö finns det inte något problem och behöver inte ändras. Och om du bara testar med en massa virtuella maskiner, har du inte mycket att oroa sig för.
För att tweak UAC för att aktivera PsTools att köra, vill du öppna Registry Editor och navigera till följande nyckel:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
Windows \ Currentversion \ Policies \ System
När du är där, skapa en ny 32-bitars DWORD på höger sida, ge den namnet LocalAccountTokenFilterPolicy och värdet på 1. Du behöver inte starta om datorn för att göra inställningen i kraft.
Notera: bara för att klargöra måste denna inställning hända på fjärrdatorn som du ansluter till.
PsExec
PsExec är förmodligen det mest kraftfulla verktyget i satsen, eftersom du kan utföra något kommando i din lokala kommandotolp, precis som att exekvera den på fjärrdatorn. Det inkluderar allt som kan köras på kommandoraden - du kan ändra registreringsvärden, köra skript och verktyg eller ansluta från den datorn till en annan. Utgången från kommandona visas på din lokala dator, snarare än på fjärrkontrollen.
Syntaxen är enkel:
psexec \\ datornamn apptorun.exe
Men realistiskt vill du också inkludera användarnamnet och lösenordet på kommandoraden. Till exempel, för att ansluta till en annan dator och kontrollera listan över nätverksanslutningar, skulle du använda något av följande:
psexec \\ datornamn -u Användare -P Lösenord ipconfig
Det kommandot skulle producera en produktion som liknar följande:
Nästa sida: Använda PsExec för att köra fjärrkommandon