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.