พรอมต์คำสั่งในฐานะผู้ใช้ระบบ (Windows 7)


10

ฉันจะรับพรอมต์คำสั่งในฐานะผู้ใช้ SYSTEM บน Windows 7 ได้อย่างไร

บริบท: ฉันกำลังทดสอบสคริปต์เริ่มต้นคอมพิวเตอร์และฉันต้องเข้าใจพฤติกรรมของคำสั่งเมื่อเรียกใช้เป็นระบบแทนที่จะเป็นบัญชีผู้ใช้ของฉัน

ฉันเคยเห็นวิธีการทำเช่นนี้กับatและpsexecแต่วิธีการเหล่านั้นดูเหมือนจะทำงานบน Windows XP หรือ Windows Vista

ฉันใช้ Windows 7 Pro SP1


1
ระบบโดยทั่วไปแล้วบริการของผู้ใช้จะทำงานภายใต้ไม่ใช่บัญชีแบบโต้ตอบ ...
Austin T French

1
บางทีฉันอาจเข้าใจผิดบางอย่าง นี่คือเป้าหมาย: ฉันมีสคริปต์ที่ฉันวางแผนที่จะปรับใช้กับองค์กรของเราผ่านนโยบายกลุ่ม แม้ว่าสคริปต์ควรทำงานได้ แต่ก็ไม่เป็นเช่นนั้น
stephenwade

1
สคริปต์จะทำงานเป็นสคริปต์เริ่มต้นระบบคอมพิวเตอร์ซึ่งฉันคิดว่าทำงานเป็นระบบ ดังนั้นฉันต้องการให้พรอมต์คำสั่งเป็นระบบเพื่อทดสอบสคริปต์ของฉัน ฉันแก้ไขสคริปต์การเริ่มต้นทำงานเป็นระบบหรือไม่ ถ้าอย่างนั้นวิธีที่ดีที่สุดในการทดสอบสคริปต์ของฉันคืออะไร
stephenwade

1
สคริปต์เริ่มต้นคอมพิวเตอร์ในนโยบายกลุ่ม
stephenwade

1
I've seen ways to do this with at and psexec, but those methods only appear to work on Windows XP or Windows 7. I'm using Windows 7 Pro SP1. อืม…ఠ_ಠ
Synetech

คำตอบ:


3

นี้ถูกถามในกองมากเกิน คำตอบที่ยอมรับใช้PsExec (จากชุดSystinternals ) ตามที่ Scott แนะนำ

โซลูชันอื่นเกี่ยวข้องกับการสร้างบริการที่ทำงานภายใต้บัญชีระบบเพื่อเรียกใช้ตัวแปลคำสั่ง คุณสามารถทำได้ด้วยตนเองหรือใช้โปรแกรมที่สร้างบริการเรียกใช้พรอมต์จากนั้นลบบริการโดยอัตโนมัติ ฉันแค่ลองใช้และใช้การรักษา:

สกรีนช็อตของ Task Manager ที่มี CMD ทำงานเป็นระบบ


9

ใช้PsExec จากไมโครซอฟท์สวีท PsExec จะต้องเรียกใช้จากพรอมต์คำสั่งของผู้ดูแลระบบ ใช้-i -sสวิตช์เพื่อเรียกใช้สคริปต์ / คำสั่งของคุณ

ป้อนคำอธิบายภาพที่นี่


1
แม้ในพรอมต์คำสั่งผู้ดูแลระบบฉันยังได้รับข้อความ " Access is denied."
stephenwade

@stephenwade คุณจะรับพรอมต์คำสั่งของผู้ดูแลระบบได้อย่างไรคุณคลิกขวาแล้วทำ "Run as Administrator" มันพูดว่า "ผู้ดูแลระบบ: พร้อมรับคำสั่ง" ในไทล์เมื่อคุณเปิดหน้าต่างก่อนที่จะเริ่ม PsExec? นอกจากนี้คุณกำลังพยายามชี้ไปที่ไฟล์เครือข่ายเพื่อเรียกใช้โทเค็นเพื่อเชื่อมต่อกับการแชร์ระยะไกลจะหายไปในระหว่างกระบวนการยกระดับ
Scott Chamberlain

ใช่ฉันคลิกขวาที่ Command Prompt ในเมนู Start และคลิก "Run as Administrator"
stephenwade

1
ฉันกำลังเรียกใช้ psexec จากโฟลเดอร์เครือข่ายที่เชื่อมโยงกับไดรฟ์ H: อาจเป็นปัญหาหรือไม่
stephenwade

1
@stephenwade ใช่เมื่อคุณยกระดับคุณหลวมไดรฟ์เครือข่ายของคุณ (เพราะพวกเขาจะเชื่อมโยงกับบัญชีผู้ใช้และคุณกำลังเปลี่ยนบัญชีผู้ใช้) คัดลอกท้องถิ่นและมันจะทำงาน
Scott Chamberlain

1

ฉันจะเป็นมากระวังการทำเช่นนี้ SYSTEM เป็นบัญชีผู้ดูแลระบบ แต่อันตรายกว่ามากเนื่องจากมีระดับการเข้าถึงที่สูงกว่า

โดยทั่วไประบบของคุณเป็นบริการบัญชีที่ทำงานภายใต้ไม่ใช่โปรไฟล์โต้ตอบ มีวิธีการทำเช่นนี้แม้ว่า

การอ่านสิ่งนี้ฉันคิดว่าเรามีวิธีการที่ดี:

  1. ตรวจสอบชื่อบัญชีที่คุณลงชื่อเข้าใช้ (คลิกเริ่มคุณ
    จะเห็นชื่อบัญชีที่คุณลงชื่อเข้าใช้)
  2. เรียกใช้พรอมต์คำสั่ง (เริ่ม | เรียกใช้ | cmd | [Enter])
    ในพรอมต์คำสั่งสร้างตารางเพื่อเรียกใช้ cmd.exe
    หากต้องการสร้างกำหนดการให้พิมพ์บรรทัดต่อไปนี้แล้วกด Enter
    เวลา 10:41 / โต้ตอบ“ cmd.exe”
    สิ่งนี้จะสร้างกำหนดเวลาให้เรียกใช้ cmd.exe เวลา 10:41
    (เนื่องจากคุณกำลังทำการทดสอบให้ตรวจสอบเวลาในระบบของคุณลองและเพิ่มสองหรือสามนาที) เปลี่ยนเวลานี้ตามเวลาท้องถิ่นของคุณ
    เคล็ดลับ: คุณสามารถตรวจสอบว่ามีการวางกำหนดการโดยการพิมพ์“ ที่
    และกด Enter หลังจากข้างต้น ขั้นตอน
  3. รอเวลาที่คุณกำหนดไว้สำหรับกำหนดการ
    cmd.exeจะเปิดตัวตามเวลาที่กำหนด
  4. หลังจากcmd.exeถูกเปิดใช้งานตามเวลาที่กำหนดให้กด [CTRL] + [ALT] + [DEL] แล้วเปิดตัวจัดการงาน
    เลือกแท็บ“ กระบวนการ” เลือกexplorer.exeในรายการกระบวนการและคลิกปุ่ม“ สิ้นสุดกระบวนการ
    คุณจะได้รับกล่องโต้ตอบการยืนยัน คลิก“ ใช่” เพื่อสิ้นสุดกระบวนการ
  5. ปิดตัวจัดการงานโดยคลิกปุ่มปิด (X)
    ปิดหน้าต่าง cmd แรก (ระวังอย่าปิดหน้าต่างแรกไม่ใช่หน้าต่างที่สอง)
  6. ตอนนี้คุณมีเพียงหน้าต่างพรอมต์คำสั่งที่สองและเดสก์ท็อปที่ว่างเปล่า
    ในพรอมต์คำสั่งให้พิมพ์บรรทัดต่อไปนี้แล้วกด“ Enter”
    cd ..
  7. ในพรอมต์คำสั่งพิมพ์บรรทัดต่อไปนี้และกด“ Enter”
    explorer.exe
    หากนี่เป็นครั้งแรกที่คุณทำ windows จะสร้าง
    ส่วนประกอบที่จำเป็นเพื่อให้คุณเข้าถึงระบบ (เดสก์ท็อปเมนูเริ่ม
    เอกสารของฉัน)
    เมื่อเสร็จแล้วคุณจะมี เดสก์ท็อปใหม่
  8. ปิดหน้าต่างพรอมต์คำสั่ง คลิกเริ่มและตรวจสอบชื่อผู้ใช้ของคุณ
    มันเปลี่ยนเป็นระบบ
    ตอนนี้คุณเป็นผู้ใช้ที่แข็งแกร่ง ระวังอย่าทำอันตรายพีซีของคุณและลบหรือแก้ไขไฟล์ระบบหากคุณไม่รู้ว่ากำลังทำอะไรอยู่

ตัวเลือกอื่นจะเรียกใช้สคริปต์ของคุณเป็นบริการ


2
atไม่ทำงานใน Windows 7
stephenwade

1
atทำงานบนเครื่อง Windows 7 ของฉัน อะไรไม่ได้ผลสำหรับคุณ
uSlackr

3
นี่เป็นอีกวิธีหนึ่ง (เร็วกว่า) ในการยุติกระบวนการสำรวจของคุณใน Windows 7: คลิกที่เริ่ม เลื่อนเมาส์ไปทางด้านขวาของเมนู (โดยที่“ Run” และ“ Log off”) (Ctrl) + (Shift) + (คลิกขวา); คลิกที่ "ออกจาก Explorer"
สกอตต์

2
C: \ Windows \ system32> เวลา 23:56 / โต้ตอบ "cmd.exe" คำเตือน: เนื่องจากการปรับปรุงด้านความปลอดภัยงานนี้จะทำงานในเวลาที่คาดไว้ แต่ไม่โต้ตอบ ใช้ยูทิลิตี schtasks.exe หากต้องการงานแบบโต้ตอบ ('รายละเอียด /' สำหรับรายละเอียด) เพิ่มงานใหม่ด้วย ID งาน = 1 blogs.technet.com/b/askds/archive/2008/10/22/…
Dagelf

1

มีวิธีแฮ็กมากกว่านี้เช่นกันซึ่งเกี่ยวข้องกับ subbing cmd.exe แทน Utilman.exe ใน \ Windows \ System32 (ซึ่งเห็นได้ชัดว่าต้องมีการสำรองข้อมูล) คุณจะต้องทำสิ่งนี้นอก Windows ที่รันอยู่ในปัจจุบันก่อน (เช่นใน Linux หรือผ่านทางซีดีการติดตั้ง / การกู้คืน) นี่คือตัวอย่างสคริปต์ที่จะใช้ (ผ่าน Windows):

cd "%SystemRoot%\System32"
ren Utilman.exe Utilman.exe.bak
robocopy cmd.exe Utilman.exe /copyall

หลังจากที่คุณทำแล้วให้บูตเข้าสู่ Windows ปกติแล้วกดปุ่ม Windows + U และแทนที่จะมีชุดยูทิลิตี้เพื่อช่วยในการเข้าถึง ฯลฯ มันจะแสดงพรอมต์คำสั่งระดับระบบด้วยเครื่องมือที่มีอยู่ทั้งหมดในระบบของคุณ .


นอกจากนี้ยังเป็นไปได้ที่จะทำใน Windows โดยไม่มีดิสก์แม้ว่าจะไม่ได้ทำการรีบูตเครื่องก็ตาม เพียงไปที่System32เปิดคุณสมบัติของUtilMan.exeใช้สิทธิ์และความเป็นเจ้าของทั้งหมดแล้วทำตามขั้นตอนต่อไป
Jet

สิ่งนี้มีประโยชน์หากคุณไม่สามารถเข้าสู่ระบบและเข้าสู่หน้าจอการเข้าสู่ระบบเท่านั้น
Vitas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.