Luncurkan sesi PowerShell jarak jauh menggunakan file ps1 yang disimpan

15

Saya mencoba membuat beberapa file yang dapat saya simpan di desktop lokal saya untuk meluncurkan sesi PowerShell.

Windows Server 2008 dan Windows Server 2012 keduanya merupakan instalasi Server Core.

Saat ini, saya dapat membuka Powershell dan mengetik:

Enter-PSSession -computername Win2012SrvCore -credential administrator

Dengan menggunakan ini, saya dapat terhubung dan menjalankan perintah dan semuanya hebat.

Apa yang saya coba lakukan adalah:

Buat file yang dipanggil Win2012SrvCore1.ps1dengan yang berikut ini:

$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

Buat file yang dipanggil Win2012SrvCore2.ps1dengan yang berikut ini:

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

Setiap ps1file akan diluncurkan dan ditutup dengan cepat dengan beberapa teks merah yang tidak dapat saya baca.

Saya telah mencoba menambahkan PAUSEke setiap skrip tetapi sepertinya tidak menghentikan jendela untuk menutup.

Apa yang ingin saya lakukan adalah membuat skrip yang dapat saya klik dua kali dan buka prompt PowerShell, mirip dengan sesi RDP yang disimpan.

Saya telah mengkonfigurasi file ps1 untuk menjalankan:

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

Bantuan apa pun akan sangat dihargai.

Anthony Fornito
sumber
Apa yang terjadi jika Anda mengetik ini secara manual di baris demi baris ISE, perintah demi perintah? Apakah Anda masih mendapatkan kesalahan?
Colyn1337
Saya akan membuka Powershell ISE (Integrated Scripting Environemt) dan menjalankan skrip. Ini akan menampilkan output dan memungkinkan Anda untuk melanjutkan pemecahan masalah.
BRNDR

Jawaban:

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

Tambahkan satu baris lagi:

Import-PSSession $session

Kemudian simpan file .PS1 dan buat pintasan sebagai powershell.exe -noexit -File "C:\PS.ps1".

Pembersih
sumber
12

tambahkan `-noexit '

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

Craig
sumber
9

Coba simpan perintah Anda sebagai file skrip dan minta pintasan Anda menggunakan baris perintah:

powershell.exe -noExit <filename.ps1>

Ini akan membuat pintasan Anda menjalankan file skrip yang ditentukan dan tidak keluar PowerShell pada akhir eksekusi skrip, sehingga Anda dapat terus menggunakan jendela setelah sesi ditetapkan.

Agar ini berfungsi, Anda perlu memastikan kebijakan eksekusi PowerShell tidak dibatasi, jika tidak, tidak ada file skrip yang dapat dijalankan

Untuk memeriksa kebijakan eksekusi saat ini yang dapat Anda gunakan Get-ExecutionPolicydan Anda dapat menggunakan Set-ExecutionPolicyuntuk mengubah kebijakan secara permanen atau menambahkan -ExecutionPolcyparameter ke baris perintah PowerShell untuk mengubahnya untuk satu sesi.

Informasi lebih lanjut tentang kebijakan eksekusi dan dampaknya dapat ditemukan menggunakan help about_Execution_Policiesperintah.

Crippledsmurf
sumber