ข้อผิดพลาดของไฟล์ Powershell การติดตั้งระยะไกล .exe และไม่พบไฟล์ setup.iss

สวัสดี ฉันกำลังพยายามหาวิธีติดตั้งไฟล์ .exe ไปยังเครื่องเซิร์ฟเวอร์ 5 เครื่อง แต่ฉันประสบปัญหาในการพยายามติดตั้งแบบเงียบๆ บนเครื่องของตัวเอง ฉันมีคำสั่งนี้ Inrigg-Command -ScriptBlock {Start-Process -FilePath \\xxx-STUDENT3-W7\Users\bkoo004\Documents\test\ccleaner402.exe \r} แต่ฉันไม่พบไฟล์ setup.iss ใน โฟลเดอร์วินโดวส์ นอกจากนี้เมื่อฉันใช้คำสั่งนี้

เรียกใช้คำสั่ง - ชื่อคอมพิวเตอร์ xxxxxxxxxxx.edu -ScriptBlock {เริ่มต้นกระบวนการ -filepath "\\xxx-S TUDENT3-W7\Users\bkoo004\Documents\test\ccleaner402.exe" } -ข้อมูลรับรอง $cred

มันทำให้ฉันมีข้อผิดพลาดแจ้งว่า คำสั่งนี้ไม่สามารถใช้งานได้เนื่องจากข้อผิดพลาด: ไม่พบชื่อเครือข่าย + CategoryInfo: InvalidOperation: (:) [เริ่มกระบวนการ], InvalidOperationException + FullyQualifiedErrorId: InvalidOperationException, Microsoft.PowerShell.Commands.StartProcessCommand

แต่ฉันรู้ว่าชื่อเครือข่ายนั้นถูกต้องเพราะเมื่อฉันเรียกใช้ Invoke-Command -computername xxxxxxxxxxx.edu -ScriptBlock {get-process } -Credential $cred มันจะส่งคืน get-process ของเซิร์ฟเวอร์นั้น

ฉันคิดว่าที่ไม่ได้รับไฟล์ setup.iss เป็นเพราะโปรแกรมที่ฉันพยายามติดตั้งไม่ได้ใช้ installshield แต่สำหรับข้อผิดพลาดในการพยายามเรียกใช้ start-process บนเซิร์ฟเวอร์ระยะไกลของฉัน ฉันไม่รู้ว่ามันคืออะไร


comment
หากคุณกำลังจะใช้คำสั่งระยะไกลใดๆ ที่มีตำแหน่งเครือข่าย คุณต้องแก้ไข double-hop   -  person E.V.I.L.    schedule 05.06.2013
comment
ใหม่ PSSession xxxxxxxxxx.edu - การรับรองความถูกต้อง CredSSP - หนังสือรับรอง $ cred | เรียกใช้-Command -computername xxxxxxxxxxxx.edu -ScriptBlock {start-process -filepath \\xxx-STUDENT3-W7\Users\xxxxxx\Documents\test\S etup.exe } โดยใช้คำสั่งนั้น ฉันยังคงได้รับข้อผิดพลาดไม่พบเครือข่าย   -  person BKoo    schedule 05.06.2013
comment
นอกจากนี้ฉันยังไม่เข้าใจว่าสิ่งที่ฉันพยายามทำทำให้เกิดปัญหาการกระโดดสองครั้งได้อย่างไร ฉันไม่ได้พยายามทำให้เซิร์ฟเวอร์ของฉันเข้าถึงจากระยะไกลได้ทุกที่ ขออภัย ฉัน noob จริงๆ ในพื้นที่นี้   -  person BKoo    schedule 05.06.2013


คำตอบ (1)


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

เซิร์ฟเวอร์คืออะไรและลูกค้าคืออะไร? เซิร์ฟเวอร์ที่ยอมรับสิ่งต่าง ๆ คือคอมพิวเตอร์ที่คุณใช้งานระยะไกล ลูกค้าเป็นผู้ให้สิ่งต่างๆ คือคอมพิวเตอร์ที่คุณใช้ในการดำเนินการจากระยะไกล ดังนั้นในคำสั่ง Invoke-Command -computername xxxxxxxxxxx.edu ... "xxxxxxxxxxxx.edu" คือเซิร์ฟเวอร์

จากคำอธิบายของคุณ ดูเหมือนว่าคุณได้รันคำสั่ง Enable-PSRemoting บนเซิร์ฟเวอร์ของคุณแล้ว เมื่อเปิดใช้งานระยะไกลบนเซิร์ฟเวอร์ คุณควรจะสามารถ Enter-PSSession -ComputerName xxxxxxxxxxx.edu และมีพรอมต์คำสั่งแบบโต้ตอบบนไคลเอนต์

หากคุณเข้าสู่เซสชันระยะไกลและทำ Get-ChildItem "\\ComputerName\Share" คำสั่งจะล้มเหลว (ล้มเหลวด้วยเหตุผลด้านความปลอดภัย) นั่นคือการดับเบิ้ลฮอป เพราะคุณเดินทางจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง การแชร์เครือข่ายคือคอมพิวเตอร์เครื่องอื่น ดังนั้นคุณจะเป็นแบบนี้:

ลูกค้า -> เซิร์ฟเวอร์ -> แชร์เครือข่าย

ฮิปปิตี้-ฮอปปิตี้

คุณต้องตั้งค่า "สิ่งของ" เพื่อแก้ไข double-hop ก่อนอื่นคุณต้องรันคำสั่ง Enable-WSManCredSSP Server บนเซิร์ฟเวอร์ของคุณก่อน เพื่อที่จะยอมรับข้อมูลรับรองจากไคลเอนต์ อันดับที่สองบนไคลเอนต์ของคุณ คุณต้องรันคำสั่ง Enable-WSManCred -Role Client -DelegateComputer * เพื่อมอบข้อมูลรับรองของคุณให้กับเซิร์ฟเวอร์

ขณะนี้ CredSSP ได้รับการกำหนดค่าให้ให้และยอมรับข้อมูลรับรองแล้ว คุณควรจะแก้ไข double-hop ได้

Enter-PSSession -ComputerName Computer1 -Authentication Credssp -Credential (Get-Credential)

ตอนนี้คุณควรจะเข้าถึงการแชร์เครือข่ายของคุณได้จากเซสชันระยะไกล Get-ChildItem "\\ComputerName\Share"

หวังว่านี่จะช่วยคุณได้สักหน่อย

ป.ล. กล้วยมีเงินอยู่เสมอ

person E.V.I.L.    schedule 05.06.2013
comment
เมื่อฉันใช้คำสั่งนี้ Inrigg-Command -computername xxx-fs-2.ads.xxx.edu -authentication credssp -credential $cred -ScriptBlock {start-process -filepath \\xxx-fs-1.xxx.ucr.edu\ software\npp.6.3.3.Installer.exe -argumentlist /S } PowerShell ของฉันค้าง ฉันเดาว่ามีการตรวจสอบคำเตือนด้านความปลอดภัยในการเปิดไฟล์. exe ฉันจะข้ามสิ่งนี้ได้อย่างไร - person BKoo; 06.06.2013
comment
นั่นหมายความว่าคุณแก้ไขปัญหาดับเบิ้ลฮอปแล้วใช่หรือไม่ - person E.V.I.L.; 06.06.2013
comment
สิ่งต่อไปที่ฉันจะทดสอบคือเข้าสู่เซสชันแบบโต้ตอบโดยใช้ Enter-PSSession และดูว่า \\Computer\Share\NPP.exe /S จะติดตั้งหรือไม่ หากไม่ได้ผลคุณอาจโชคดีกว่าที่จะถามคำถามอื่น ฉันไม่ใช่มืออาชีพในการติดตั้งระยะไกล ฉันไม่รู้ว่าการติดตั้งที่ค้างอยู่นั้นเกี่ยวข้องกับ UAC หรือไม่ แต่ฉันเชื่อว่าเมื่อคุณเรียกใช้ไฟล์การติดตั้ง ข้อความแจ้งจะกลับมาเมื่อการติดตั้งเสร็จสิ้นเท่านั้น - person E.V.I.L.; 07.06.2013
comment
เมื่อฉันใช้ Enter-pssession และพยายามติดตั้ง ฉันพบข้อผิดพลาดการเข้าถึงถูกปฏิเสธ หากฉันไม่ได้ใช้ credssp และฉันได้รับข้อผิดพลาดต้องใช้การยกระดับหากฉันใช้ credssp - person BKoo; 08.06.2013
comment
ถ้าฉันใช้คำสั่งนี้หลังจาก enter-pssession PowerShell ของฉันก็จะค้าง - person BKoo; 08.06.2013
comment
Start-Process -FilePath \\xxx-fs-1.ads.xxx.edu\software\npp.6.3.3 .Installer.exe -ArgumentList /S และฉันกำลังเรียกใช้คำสั่งนี้หลังจากรัน Enter-PSSession -authentication credssp -credential $cred - ชื่อคอมพิวเตอร์ xxx-fs-2.ads.xxx.edu - person BKoo; 08.06.2013