การใช้ PsTools เพื่อควบคุมพีซีเครื่องอื่นจาก Command Line
ในบทเรียนของวันนี้ในซีรี่ส์ Geek School ของเราที่ครอบคลุม SysInternals เราจะแสดงวิธีใช้ชุดเครื่องมือ PsTools เพื่อทำงานด้านการบริหารทุกประเภททั้งในเครื่องและในคอมพิวเตอร์ระยะไกล.
การนำทางของโรงเรียน- เครื่องมือ SysInternals คืออะไรและคุณใช้งานอย่างไร?
- ทำความเข้าใจกับ Process Explorer
- ใช้ Process Explorer เพื่อแก้ไขปัญหาและวินิจฉัย
- ทำความเข้าใจเกี่ยวกับการตรวจสอบกระบวนการ
- ใช้การตรวจสอบกระบวนการเพื่อแก้ไขปัญหาและค้นหา Hacks รีจิสทรี
- ใช้การทำงานอัตโนมัติเพื่อจัดการกับกระบวนการเริ่มต้นและมัลแวร์
- ใช้ BgInfo เพื่อแสดงข้อมูลระบบบนเดสก์ท็อป
- การใช้ PsTools เพื่อควบคุมพีซีเครื่องอื่นจาก Command Line
- การวิเคราะห์และจัดการไฟล์โฟลเดอร์และไดรฟ์ของคุณ
- การรวมและใช้เครื่องมือเข้าด้วยกัน
หากคุณต้องการเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นและเรียกใช้คำสั่งรับข้อมูลเกี่ยวกับกระบวนการทำงานและฆ่าพวกเขาหรือแม้แต่หยุดบริการบนพีซีเครื่องอื่นคุณสามารถใช้ยูทิลิตี้ PsTools เพื่อทำสิ่งเหล่านี้ทั้งหมดและแม้กระทั่ง มากกว่า.
เห็นได้ชัดว่าคุณสามารถใช้ Remote Desktop หรือบริการที่คล้ายกันเพื่อเชื่อมต่อกับคอมพิวเตอร์ Windows เครื่องใดก็ได้และเห็นเดสก์ท็อปจริงและทำทุกอย่างที่คุณจะทำในพื้นที่ แต่อรรถประโยชน์ PsTools ช่วยให้คุณทำงานหลายอย่างจากบรรทัดคำสั่ง สคริปต์ที่คุณสามารถนำกลับมาใช้ใหม่ในภายหลัง.
สิ่งเหล่านี้คือประเภทของยูทิลิตี้ที่ทำงานได้ดีที่สุดในสภาพแวดล้อมขององค์กรและการใช้เครื่องมือเหล่านี้จะทำให้คุณทำงานของระบบได้ดีขึ้นประหยัดเวลาและช่วยให้คุณทำสิ่งต่างๆได้อย่างชาญฉลาดมากขึ้น การทำสิ่งต่าง ๆ อย่างชาญฉลาดและเร็วกว่านั้นเป็นทักษะที่สำคัญยิ่งสำหรับการดูแลระบบที่ดี.
มีเครื่องมืออยู่สิบสองชุดในชุด PsTools และในขณะที่บางอันมีประโยชน์อย่างยิ่งเครื่องมืออื่น ๆ ก็ถูกแทนที่ด้วยเครื่องมือที่สร้างขึ้นใน Windows รุ่นที่ใหม่กว่าและมีอีกสองสามเครื่องมือที่ไม่เป็นประโยชน์สำหรับคนส่วนใหญ่ เราจะผ่านทั้งหมดเพื่อให้คุณเข้าใจวิธีการทำงานและทำไมคุณอาจต้องการใช้แต่ละคน.
- PsExec - ดำเนินการกระบวนการต่าง ๆ บนคอมพิวเตอร์ระยะไกล
- PsFile - แสดงไฟล์ที่เปิดบนคอมพิวเตอร์ระยะไกลผ่านเครือข่าย
- PsGetSid - แสดงตัวระบุความปลอดภัยสำหรับคอมพิวเตอร์หรือผู้ใช้
- PsInfo - แสดงข้อมูลเกี่ยวกับระบบ
- PsKill - ฆ่ากระบวนการตามชื่อหรือ ID
- PsList - รายการข้อมูลเกี่ยวกับกระบวนการในบรรทัดคำสั่ง
- PsLoggedOn - บัญชีรายชื่อที่เข้าสู่ระบบทั้งบนเครื่องหรือเชื่อมต่อจากระยะไกล
- PsLogList - ดึงบันทึกเหตุการณ์บนบรรทัดคำสั่ง
- PsPasswd - เปลี่ยนรหัสผ่านสำหรับผู้ใช้
- PsPing - ยูทิลิตี้ ping ค่อนข้างง่ายพร้อมคุณสมบัติเพิ่มเติมบางอย่าง
- PsService - แสดงรายการและทำการเปลี่ยนแปลงบริการ Windows
- PsShutdown - ปิดระบบออกจากระบบหรือพักคอมพิวเตอร์
- PsSuspend - หยุดชั่วคราวและดำเนินกระบวนการต่อ (แทนที่จะฆ่าพวกเขา)
เป็นเรื่องที่น่าสังเกตว่าคุณสามารถใช้เครื่องมือเช่น PsExec เพื่อเรียกใช้ยูทิลิตี้บรรทัดคำสั่งทุกประเภทในคอมพิวเตอร์ระยะไกล ... รวมถึงเครื่องมือที่มีประโยชน์จริง ๆ เช่นเครื่องมือบรรทัดคำสั่ง Autoruns และอีกมากมาย ความเป็นไปได้ไม่มีที่สิ้นสุดเมื่อคุณยอมรับพลังของ PsTools.
เครื่องมือทั้งหมดเหล่านี้สามารถใช้กับเครื่องคอมพิวเตอร์ได้ แต่ส่วนใหญ่จะมีประโยชน์สำหรับการเชื่อมต่อกับคอมพิวเตอร์ระยะไกลและดำเนินการคำสั่งต่าง ๆ.
การเชื่อมต่อกับคอมพิวเตอร์ระยะไกล (ไวยากรณ์สำหรับยูทิลิตี้ทั้งหมด)
การใช้ประโยชน์ทั้งหมดสามารถเรียกใช้บนคอมพิวเตอร์ท้องถิ่นหรือระยะไกลดังนั้นพวกเขาทั้งหมดมีอาร์กิวเมนต์แรกเหมือนกันสำหรับชื่อคอมพิวเตอร์หากจำเป็น โปรดทราบว่าคุณสามารถใช้ที่อยู่ IP หากคุณต้องการแทน หากคุณไม่ใช้อาร์กิวเมนต์นี้คำสั่งจะทำงานบนเครื่องคอมพิวเตอร์ของคุณ.
psinfo \\ ชื่อคอมพิวเตอร์
คุณยังสามารถแสดงรายการคอมพิวเตอร์หลายเครื่องเช่น psinfo \\ computer1, computer2, computer3 หรือคุณสามารถใส่ชื่อทั้งหมดลงในไฟล์และการอ้างอิงเช่น psinfo @ computerlist.txt ไวยากรณ์สุดท้ายคือ psinfo \\ * ซึ่งทำงานกับคอมพิวเตอร์ทุกเครื่องในโดเมนซึ่งอาจไม่ใช่สิ่งที่คุณจะใช้ทุกวัน.
หากคุณต้องการเชื่อมต่อกับข้อมูลรับรองสำรองเนื่องจากบัญชีคอมพิวเตอร์ของคุณมีชื่อผู้ใช้และรหัสผ่านที่แตกต่างจากคอมพิวเตอร์เครื่องอื่นคุณสามารถใช้ตัวเลือก -u และ -p ได้แม้ว่าเราจะทราบว่าคุณอาจไม่ต้องการใช้ -p บรรทัดคำสั่งด้วยรหัสผ่านในคำสั่งด้วยเหตุผลด้านความปลอดภัย. อัปเดต: จาก PsExec รุ่นล่าสุดไม่มีเครื่องมือส่งรหัสผ่านเป็นข้อความที่ชัดเจนอีกต่อไปดังนั้นสิ่งเดียวที่กังวลคือถ้ามีใครบางคนสามารถอ่านไฟล์สคริปต์ของคุณและดูรหัสผ่านที่นั่น.
psinfo \\ ชื่อผู้ใช้ -u“ ผู้ใช้” -p“ รหัสผ่าน”
ส่วน "ผู้ใช้" ของคำสั่งจะเปลี่ยนเป็น "DOMAIN \ user" หากคุณอยู่ในสภาพแวดล้อมของโดเมนและจำเป็นต้องเปลี่ยนจากผู้ใช้ที่กำลังทำงานอยู่.
บันทึก: โดยทั่วไปคุณจะต้องเชื่อมต่อกับคอมพิวเตอร์ระยะไกลด้วยบัญชีผู้ดูแลระบบ.
การกำหนดค่า Remote Administration Access
หากคุณอยู่ในสภาพแวดล้อมของโดเมนซึ่งคนส่วนใหญ่ที่ต้องการใช้ PsTools จะเป็นเช่นนั้นคุณสามารถเพิกเฉยต่อส่วนนี้ทั้งหมดเนื่องจากทุกอย่างจะทำงานได้ดี สำหรับใครก็ตามที่ใช้ Windows 7, 8 หรือ Vista ในสภาพแวดล้อมที่บ้านหรือใช้คอมพิวเตอร์สองเครื่องในสำนักงานที่ไม่มีโดเมนคุณจะต้องปรับแต่งการควบคุมบัญชีผู้ใช้บนคอมพิวเตอร์ระยะไกลเพื่อให้ PsTools ทำงานได้อย่างถูกต้อง.
Microsoft อธิบายปัญหาได้ดี:
เมื่อผู้ใช้ที่เป็นสมาชิกของกลุ่มผู้ดูแลระบบท้องถิ่นบนคอมพิวเตอร์ระยะไกลเป้าหมายสร้างการเชื่อมต่อการดูแลระบบระยะไกลโดยใช้คำสั่ง net use * \\ remotecomputer \ Share $ ตัวอย่างเช่นผู้ใช้จะไม่เชื่อมต่อในฐานะผู้ดูแลระบบแบบเต็ม ผู้ใช้ไม่มีศักยภาพในการยกระดับบนคอมพิวเตอร์ระยะไกลและผู้ใช้ไม่สามารถทำงานการดูแลระบบได้.
เพื่ออธิบายในวิธีอื่นเมื่อคุณพยายามเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นและเรียกใช้บางสิ่งที่ต้องมีการเข้าถึงของผู้ดูแลระบบไม่มีวิธีที่จะเปิดใช้งานพรอมต์ UAC และยอมรับจากคอมพิวเตอร์ของคุณดังนั้นจึงไม่เชื่อมต่อในฐานะผู้ดูแลระบบ.
และนี่ไม่ใช่สิ่งเลวร้าย คุณไม่ควรเปลี่ยนการตั้งค่านี้โดยไม่เข้าใจว่าคุณจะอนุญาตให้มีการเปิดมัลแวร์เพื่อแพร่กระจายจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งโดยสมมติว่ามัลแวร์มีชื่อผู้ใช้และรหัสผ่านท้องถิ่นของคุณและรหัสผ่านนั้นเหมือนกันกับคอมพิวเตอร์เครื่องอื่น มัลแวร์เป็นเรื่องยุ่งยากซึ่งส่วนใหญ่ไม่ใช่ แต่มันก็ยังไม่ใช่สิ่งที่จะต้องดำเนินการเบา ๆ.
และอีกครั้งหากคุณอยู่ในสภาพแวดล้อมของโดเมนปัญหานี้ไม่มีอยู่และไม่จำเป็นต้องเปลี่ยน และถ้าคุณเป็นเพียงการทดสอบกับเครือข่ายเสมือนจริงคุณไม่ต้องกังวลอะไรมากมาย.
หากต้องการปรับแต่ง UAC เพื่อเปิดใช้งาน PsTools ให้เรียกใช้คุณจะต้องเปิดตัวแก้ไขรีจิสทรีและไปที่คีย์ต่อไปนี้:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \
Windows \ CurrentVersion \ Policies \ System
เมื่อคุณอยู่ที่นั่นให้สร้าง DWORD 32 บิตใหม่ทางด้านขวาตั้งชื่อ LocalAccountTokenFilterPolicy และค่า 1 คุณไม่ต้องรีสตาร์ทคอมพิวเตอร์เพื่อให้การตั้งค่ามีผล.
บันทึก: เพื่อชี้แจงการตั้งค่านี้ต้องเกิดขึ้นบนคอมพิวเตอร์ระยะไกลที่คุณกำลังเชื่อมต่อ.
PsExec
PsExec อาจเป็นเครื่องมือที่ทรงพลังที่สุดในชุดเนื่องจากคุณสามารถดำเนินการคำสั่งใด ๆ ในพรอมต์คำสั่งท้องถิ่นของคุณเช่นเดียวกับการดำเนินการบนคอมพิวเตอร์ระยะไกล ซึ่งรวมถึงสิ่งที่สามารถเรียกใช้บนบรรทัดคำสั่ง - คุณสามารถเปลี่ยนค่ารีจิสทรีเรียกใช้สคริปต์และยูทิลิตี้หรือเชื่อมต่อจากพีซีเครื่องนั้นไปยังอีกเครื่องหนึ่งได้ ผลลัพธ์ของคำสั่งจะแสดงบนพีซีในพื้นที่ของคุณแทนที่จะเป็นบนรีโมท.
ไวยากรณ์ง่ายมาก:
psexec \\ computername apptorun.exe
อย่างไรก็ตามตามจริงแล้วคุณต้องการรวมชื่อผู้ใช้และรหัสผ่านในบรรทัดคำสั่งด้วย ตัวอย่างเช่นหากต้องการเชื่อมต่อกับพีซีเครื่องอื่นและตรวจสอบรายการการเชื่อมต่อเครือข่ายคุณจะต้องใช้สิ่งนี้:
psexec \\ ชื่อคอมพิวเตอร์ -u ผู้ใช้ -p รหัสผ่าน ipconfig
คำสั่งนั้นจะสร้างเอาต์พุตคล้ายกับตัวอย่างต่อไปนี้:
หน้าถัดไป: การใช้ PsExec เพื่อเรียกใช้คำสั่งระยะไกล