PowerShell เป็นรูปแบบพร้อมรับคำสั่งขั้นสูง มันถูกขยายด้วยชุด cmdlet ที่พร้อมใช้งานจำนวนมากและมาพร้อมกับความสามารถในการใช้. NET framework / C # ในสถานการณ์ต่างๆ วันนี้ฉันจะแสดงวิธีเริ่มกระบวนการที่ยกระดับจากพรอมต์ PowerShell
การโฆษณา
ก่อนหน้านี้ฉันได้กล่าวถึงวิธีการเดียวกัน ทำจากไฟล์แบตช์ . อย่างไรก็ตามด้วยการอัปเดตผู้สร้าง Windows 10 Microsoft จะยกเลิกการเน้นพรอมต์คำสั่งและส่งเสริม PowerShell ทุกที่ ดูบทความเหล่านี้สำหรับการอ้างอิง:
- Windows 10 build 14986 แทนที่ Command Prompt ด้วย PowerShell ทุกที่
- เพิ่ม Command Prompt กลับไปที่เมนู Win + X ใน Windows 10 Creators Update
- เพิ่มพรอมต์คำสั่งลงในเมนูบริบทใน Windows 10 Creators Update
- ลบหน้าต่าง Open PowerShell ที่นี่จากเมนูบริบทใน Windows 10
ดังนั้นจึงเป็นความคิดที่ดีที่จะเรียนรู้เคล็ดลับที่เป็นประโยชน์นี้ซึ่งสามารถทำได้จากคอนโซล PowerShell และประหยัดเวลาของคุณ
วิธีการกู้คืนข้อความบน iphone
เริ่มกระบวนการที่ยกระดับจาก PowerShell
สำหรับงานนี้เราจะใช้ cmdlet เริ่มต้นกระบวนการ รองรับไฟล์ จำนวนตัวเลือก หนึ่งในนั้นคือ -Verb หากคุณระบุ -Verb เป็น 'RunAs' กระบวนการที่คุณกำลังจะเริ่มจะถูกเปิดขึ้น
มาลองเปิดแอป Notepad แบบยกระดับ
- เปิด PowerShell .
- พิมพ์หรือคัดลอกวางคำสั่งต่อไปนี้:
เริ่มกระบวนการ 'notepad.exe' -Verb RunAs
- พรอมต์ UAC จะปรากฏขึ้น ยืนยัน:
- แอป Notepad จะเปิดขึ้นคุณสามารถมั่นใจได้โดยใช้ตัวจัดการงาน ดูบทความ: วิธีตรวจสอบว่ากระบวนการทำงานในฐานะผู้ดูแลระบบ (ยกระดับ) ใน Windows หรือไม่
หมายเหตุ: หากคุณกดปุ่ม 'ไม่' ที่พรอมต์ UAC คอนโซล PowerShell จะพิมพ์ข้อความแสดงข้อผิดพลาด 'ผู้ใช้ยกเลิกการดำเนินการ' นี่เป็นสิ่งที่คาดหวัง
เคล็ดลับ: คุณสามารถเรียกใช้แอปที่ยกระดับด้วยความช่วยเหลือของ PowerShell ได้โดยตรงโดยไม่ต้องเปิดคอนโซลก่อน ตัวอย่างเช่นคุณสามารถสร้างทางลัดหรือพิมพ์คำสั่งต่อไปนี้ในกล่องโต้ตอบเรียกใช้:
powershell.exe - คำสั่ง 'Start-Process Notepad.exe-Verb RunAs'
ผลลัพธ์ก็จะเหมือนเดิม หน้าต่าง Powershell จะกะพริบสักครู่จากนั้นแอปจะเปิดขึ้น
windows 10 build 15002
เริ่มกระบวนการที่ยกระดับด้วยอาร์กิวเมนต์จาก PowerShell
หากคุณต้องการส่งผ่านอาร์กิวเมนต์ (หรือที่เรียกว่าสวิตช์หรือพารามิเตอร์) ไปยังกระบวนการที่คุณกำลังจะเริ่มยกระดับจาก PowerShell ให้ใช้สวิตช์ -Argument ของ cmdlet เริ่มต้นกระบวนการ อาร์กิวเมนต์ที่ระบุจะถูกส่งไปยังไฟล์ปฏิบัติการเป้าหมาย นี่คือตัวอย่างที่แก้ไขด้วย Notepad.exe ที่ฉันใช้ข้างต้น
สำหรับคอนโซล PowerShell ใช้คำสั่งต่อไปนี้:
เริ่มกระบวนการ 'notepad.exe' - อาร์กิวเมนต์ 'C: My Stuff my file.txt' -Verb RunAs
ใส่เส้นทางที่มีช่องว่างในเครื่องหมายคำพูด หากคุณต้องการส่งผ่านอาร์กิวเมนต์มากกว่านั้นให้คั่นด้วยเครื่องหมายจุลภาคและใช้ ArgumentList:
Start-Process 'file.exe' -ArgumentList 'อาร์กิวเมนต์ 1, อาร์กิวเมนต์ 2, อาร์กิวเมนต์ 3' -Verb RunAs
จากภายใน PowerShell คุณสามารถใช้คำสั่งต่อไปนี้:
powershell.exe - คำสั่ง 'Start-Process' Notepad.exe '- อาร์กิวเมนต์' C: My Stuff my file.txt '-Verb RunAs'
อีกตัวอย่างหนึ่ง:
powershell -Command 'Start-Process powershell.exe -ArgumentList' -ExecutionPolicy Bypass -NoExit -Command `` Checkpoint-Computer -Description 'RestorePoint1 ' -RestorePointType 'MODIFY_SETTINGS ' `` -Verb RunAs '
ดูบทความสำหรับข้อมูลเพิ่มเติม: สร้างจุดคืนค่าใน Windows 10 ด้วย PowerShell
ปิดเส้นทางด้วยช่องว่างในเครื่องหมายคำพูดเดียวดังที่แสดงด้านบน
แค่นั้นแหละ.