โฮมเพจ » โรงเรียน » การใช้ PsTools เพื่อควบคุมพีซีเครื่องอื่นจาก Command Line

    การใช้ PsTools เพื่อควบคุมพีซีเครื่องอื่นจาก Command Line

    ในบทเรียนของวันนี้ในซีรี่ส์ Geek School ของเราที่ครอบคลุม SysInternals เราจะแสดงวิธีใช้ชุดเครื่องมือ PsTools เพื่อทำงานด้านการบริหารทุกประเภททั้งในเครื่องและในคอมพิวเตอร์ระยะไกล.

    การนำทางของโรงเรียน
    1. เครื่องมือ SysInternals คืออะไรและคุณใช้งานอย่างไร?
    2. ทำความเข้าใจกับ Process Explorer
    3. ใช้ Process Explorer เพื่อแก้ไขปัญหาและวินิจฉัย
    4. ทำความเข้าใจเกี่ยวกับการตรวจสอบกระบวนการ
    5. ใช้การตรวจสอบกระบวนการเพื่อแก้ไขปัญหาและค้นหา Hacks รีจิสทรี
    6. ใช้การทำงานอัตโนมัติเพื่อจัดการกับกระบวนการเริ่มต้นและมัลแวร์
    7. ใช้ BgInfo เพื่อแสดงข้อมูลระบบบนเดสก์ท็อป
    8. การใช้ PsTools เพื่อควบคุมพีซีเครื่องอื่นจาก Command Line
    9. การวิเคราะห์และจัดการไฟล์โฟลเดอร์และไดรฟ์ของคุณ
    10. การรวมและใช้เครื่องมือเข้าด้วยกัน

    หากคุณต้องการเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นและเรียกใช้คำสั่งรับข้อมูลเกี่ยวกับกระบวนการทำงานและฆ่าพวกเขาหรือแม้แต่หยุดบริการบนพีซีเครื่องอื่นคุณสามารถใช้ยูทิลิตี้ 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 เพื่อเรียกใช้คำสั่งระยะไกล