Avvia la sessione remota di PowerShell utilizzando il file ps1 salvato


15

Sto cercando di creare un paio di file che è possibile salvare sul desktop locale per avviare sessioni PowerShell.

Windows Server 2008 e Windows Server 2012 sono entrambe installazioni Server Core.

Attualmente, posso aprire Powershell e digitare:

Enter-PSSession -computername Win2012SrvCore -credential administrator

Usando questo, posso connettermi ed eseguire comandi e tutto è fantastico.

Quello che ho provato a fare è:

Creare il file chiamato Win2012SrvCore1.ps1con il seguente:

$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

Creare il file chiamato Win2012SrvCore2.ps1con il seguente:

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

Ogni ps1file verrà avviato e chiuso rapidamente con del testo rosso che non riesco a leggere.

Ho provato ad aggiungere PAUSEad ogni script ma questo non sembra fermare la chiusura della finestra.

Quello che vorrei fare è creare script che posso fare doppio clic e aprire al prompt di PowerShell, in modo simile a una sessione RDP salvata.

Ho configurato i file ps1 per l'esecuzione:

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

Qualsiasi aiuto sarebbe molto apprezzato.


Cosa succede se lo digiti manualmente in ISE riga per riga, comando per comando? Ricevi ancora un errore?
— Colyn1337,

Vorrei aprire Powershell ISE (Integrated Scripting Environemt) ed eseguire lo script. Questo visualizzerà l'output e ti consentirà di continuare la risoluzione dei problemi.
— BRNDR,

Risposte:


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

Aggiungi un'altra riga:

Import-PSSession $session

Quindi salvare il file .PS1 e creare un collegamento come powershell.exe -noexit -File "C:\PS.ps1".


12

aggiungi `-noexit '

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


9

Prova a salvare i tuoi comandi come file di script e fai in modo che le tue scorciatoie utilizzino la riga di comando:

powershell.exe -noExit <filename.ps1>

In questo modo le scorciatoie eseguiranno il file di script specificato e non usciranno da PowerShell al termine dell'esecuzione degli script, quindi è possibile continuare a utilizzare la finestra dopo aver stabilito la sessione.

Perché ciò funzioni è necessario assicurarsi che il criterio di esecuzione di PowerShell non sia limitato, altrimenti non è possibile eseguire file di script

Per verificare la politica di esecuzione corrente è possibile utilizzare Get-ExecutionPolicyed è possibile utilizzare Set-ExecutionPolicyper modificare la politica in modo permanente o aggiungere il -ExecutionPolcyparametro alla riga di comando di PowerShell per cambiarlo per una singola sessione.

Ulteriori informazioni sulle politiche di esecuzione e il loro impatto sono disponibili tramite il help about_Execution_Policiescomando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.