คำสั่ง powershell เริ่มต้นกระบวนการที่มีช่องว่าง


-1

มีใครบอกฉันได้ไหมว่าทำไมมันไม่ทำงานใน Windows 10

{start-process powershell 'start-process c:\windows\syswow64\mmc.exe """c:\path\to\my\administrative tool\console1.msc""" -verb runas' -credential domain\user}

มันใช้งานได้ดีและโอชะภายใต้ Windows 8.1 อย่างไรก็ตามหลังจากย้ายไปที่ Windows 10 เมื่อเช้านี้โค้ดผิดพลาดออกไปที่ช่องว่างในพา ธ ไปที่ console1.msc

ขอบคุณล่วงหน้า!


โปรดระบุเอาต์พุตข้อผิดพลาดจริง และบอกเราด้วยว่าคุณได้ลองไปแล้ว (และผลลัพธ์ที่ได้)
Ƭᴇcʜιᴇ007

ให้ฉันทำให้ถูกต้องคุณกำลังใช้ PowerShell (32/64 บิต) เริ่ม PowerShell เพื่อเริ่มต้น 32 บิต mmc ด้วยสิทธิ์ผู้ดูแลระบบและข้อมูลประจำตัวที่แตกต่างกันอย่างไร
LotPings

- คำสั่งปัญหา - ป้อนข้อมูลประจำตัวที่คำขอข้อมูลรับรอง PowerShell - ตอบใช่เพื่อแจ้งให้ UAC รับข้อผิดพลาดต่อไปนี้: ---------------------------- Microsoft Management คอนโซล ---------------------------- MMC ไม่สามารถเปิดไฟล์ C: \ path \ to \ my \ Administrative อาจเป็นเพราะไฟล์ไม่มีอยู่ไม่ใช่คอนโซล MMC หรือสร้างโดย MMC รุ่นที่ใหม่กว่า อาจเป็นเพราะคุณไม่มีสิทธิ์การเข้าถึงไฟล์เพียงพอ ---------------------------- [ตกลง] ------------------- --------- ดังนั้นมันไม่ได้จัดการพื้นที่ในเส้นทางอย่างถูกต้อง ปัญหาคำคม?
user3208239

คำตอบ:


0

ปรากฏว่าแต่ละขั้นตอนในการเปิดตัวกระบวนการ PowerShell จากกระบวนการ PowerShell เพื่อเรียกใช้ MMC จะได้รับการเสนอราคาสองเท่าเพื่อป้องกันช่องว่าง (อาร์กิวเมนต์ของ PowerShell นั้นอาจต้องมีการหลบหนีด้วยเช่นกัน) ดังนั้นคุณต้องหลีกเลี่ยงคำพูดเหล่านั้นเพิ่มเติม อันที่จริงคุณต้องมีเก้า - นับพวกมัน เก้า - อักขระเครื่องหมายคำพูดสองด้าน:

start-process powershell 'start-process c:\windows\syswow64\mmc.exe """""""""c:\administrative tool\console1.msc""""""""" -verb runas' -credential domain\user

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