Kaydedilmiş ps1 dosyasını kullanarak uzak PowerShell oturumunu başlat


15

PowerShell oturumlarını başlatmak için yerel masaüstüme kaydedebileceğim birkaç dosya oluşturmaya çalışıyorum.

Windows Server 2008 ve Windows Server 2012'nin her ikisi de Sunucu Çekirdeği yüklemeleridir.

Şu anda, Powershell'i açabilir ve yazabilirim:

Enter-PSSession -computername Win2012SrvCore -credential administrator

Bunu kullanarak, komutları bağlayıp çalıştırabilirim ve her şey harika.

Ne yapmaya çalıştım:

Win2012SrvCore1.ps1Aşağıdakilerle çağrılan bir dosya oluşturun :

$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.ps1Aşağıdakilerle çağrılan bir dosya oluşturun :

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

Her ps1dosya, okuyamadığım bazı kırmızı metinlerle hızlı bir şekilde başlatılır ve kapanır.

PAUSEHer komut dosyasına eklemeyi denedim ama pencerenin kapanmasını durdurmuyor gibi görünüyor.

Ne yapmak istiyorum, çift tıklatıp kayıtlı bir RDP oturumuna benzer şekilde powershell istemine açabileceğim komut dosyaları oluşturmaktır.

Ben ps1 dosyalarını çalıştırmak için yapılandırdık:

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

Herhangi bir yardım büyük mutluluk duyacağız.


Bunu ISE'ye satır satır, komutla komutla el ile yazarsanız ne olur? Hala bir hata mı alıyorsunuz?
Colyn1337

Powershell ISE (Integrated Scripting Environmentemt) uygulamasını açar ve komut dosyasını çalıştırırdım. Bu, çıktıyı görüntüler ve sorun giderme işlemlerine devam etmenizi sağlar.
BRNDR

Yanıtlar:


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

Bir satır daha ekleyin:

Import-PSSession $session

Sonra .PS1 dosyasını kaydedin ve olarak bir kısayol oluşturun powershell.exe -noexit -File "C:\PS.ps1".


12

-noexit ekle

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


9

Komutlarınızı bir komut dosyası olarak kaydetmeyi deneyin ve ardından kısayollarınızın komut satırını kullanmasını sağlayın:

powershell.exe -noExit <filename.ps1>

Bu, kısayollarınızın belirtilen komut dosyasını çalıştırmasını ve komut dosyalarının yürütülmesinin sonunda powershell'den çıkmamasını sağlar, böylece oturum oluşturulduktan sonra pencereyi kullanmaya devam edebilirsiniz.

Bunun çalışması için PowerShell yürütme ilkesinin Sınırlı olmadığından emin olmanız gerekir, aksi takdirde hiçbir komut dosyası yürütülemez

Mevcut yürütme politikasını kontrol etmek kullanabileceğiniz Get-ExecutionPolicyve birini kullanabilirsiniz Set-ExecutionPolicypermanantly politikasını değiştirmesi veya eklenti-ExecutionPolcy tek bir oturum için bunu değiştirmek için powershell komut satırı parametresini.

Yürütme ilkeleri ve etkileri hakkında daha fazla bilgi, help about_Execution_Policieskomut kullanılarak bulunabilir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.