เรียกใช้เซสชัน PowerShell ระยะไกลโดยใช้ไฟล์ ps1 ที่บันทึกไว้


15

ฉันกำลังพยายามสร้างไฟล์สองสามไฟล์ที่ฉันสามารถบันทึกบนเดสก์ท็อปท้องถิ่นเพื่อเปิดเซสชัน PowerShell

Windows Server 2008 และ Windows Server 2012 เป็นทั้งการติดตั้งเซิร์ฟเวอร์คอร์

ขณะนี้ฉันสามารถเปิด Powershell และพิมพ์:

Enter-PSSession -computername Win2012SrvCore -credential administrator

ใช้สิ่งนี้ฉันสามารถเชื่อมต่อและเรียกใช้คำสั่งและทุกอย่างยอดเยี่ยม

สิ่งที่ฉันพยายามทำคือ:

สร้างไฟล์ชื่อWin2012SrvCore1.ps1ดังต่อไปนี้:

$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

สร้างไฟล์ชื่อWin2012SrvCore2.ps1ดังต่อไปนี้:

PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator

แต่ละps1ไฟล์จะเปิดและปิดอย่างรวดเร็วด้วยข้อความสีแดงที่ฉันอ่านไม่ออก

ฉันพยายามเพิ่มPAUSEในแต่ละสคริปต์ แต่ดูเหมือนจะไม่หยุดหน้าต่างไม่ให้ปิด

สิ่งที่ฉันต้องการจะทำคือสร้างสคริปต์ที่ฉันสามารถคลิกสองครั้งและเปิดไปที่พร้อมท์ PowerShell คล้ายกับเซสชัน RDP ที่บันทึกไว้

ฉันได้กำหนดค่าไฟล์ ps1 เพื่อดำเนินการ:

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.


จะเกิดอะไรขึ้นถ้าคุณพิมพ์ด้วยตัวเองในบรรทัด ISE ทีละบรรทัดคำสั่งตามคำสั่ง คุณยังได้รับข้อผิดพลาดหรือไม่?
Colyn1337

ฉันจะเปิด Powershell ISE (Integrated Scripting Environemt) และเรียกใช้สคริปต์ นี่จะแสดงผลลัพธ์และให้คุณแก้ไขปัญหาต่อไป
BRNDR

คำตอบ:


10
$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

เพิ่มอีกหนึ่งบรรทัด:

Import-PSSession $session

บันทึกแฟ้ม .PS1 powershell.exe -noexit -File "C:\PS.ps1"และสร้างทางลัดไปว่ามันเป็น



9

ลองบันทึกคำสั่งของคุณเป็นไฟล์สคริปต์จากนั้นให้ทางลัดของคุณใช้บรรทัดคำสั่ง:

powershell.exe -noExit <filename.ps1>

นี่จะทำให้ทางลัดของคุณเรียกใช้ไฟล์สคริปต์ที่ระบุและไม่ออกจาก PowerShell เมื่อสิ้นสุดการทำงานของสคริปต์ดังนั้นคุณสามารถใช้งานหน้าต่างต่อไปได้หลังจากที่มีการสร้างเซสชันแล้ว

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

ในการตรวจสอบนโยบายการปฏิบัติปัจจุบันคุณสามารถใช้Get-ExecutionPolicyและคุณสามารถใช้Set-ExecutionPolicyเพื่อเปลี่ยนนโยบายอย่างถาวรหรือเพิ่ม-ExecutionPolcyพารามิเตอร์ในบรรทัดคำสั่ง powershell เพื่อเปลี่ยนเป็นเซสชันเดียว

ข้อมูลเพิ่มเติมเกี่ยวกับนโยบายการปฏิบัติและผลกระทบสามารถดูได้โดยใช้help about_Execution_Policiesคำสั่ง

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