Estoy tratando de crear un par de archivos que puedo guardar en mi escritorio local para iniciar sesiones de PowerShell.
Windows Server 2008 y Windows Server 2012 son instalaciones de Server Core.
Actualmente, puedo abrir Powershell y escribir:
Enter-PSSession -computername Win2012SrvCore -credential administrator
Con esto, puedo conectar y ejecutar comandos y todo es genial.
Lo que he intentado hacer es:
Crear archivo llamado Win2012SrvCore1.ps1con lo siguiente:
$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
Crear archivo llamado Win2012SrvCore2.ps1con lo siguiente:
PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Cada ps1archivo se iniciará y cerrará rápidamente con un texto rojo que no puedo leer.
Intenté agregar PAUSEa cada script pero eso no parece detener el cierre de la ventana.
Lo que me gustaría hacer es crear scripts en los que pueda hacer doble clic y abrirlos en el indicador de PowerShell, similar a una sesión RDP guardada.
He configurado archivos ps1 para ejecutar:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Cualquier ayuda sería muy apreciada.
fuente

Respuestas:
Agrega una línea más:
Import-PSSession $sessionLuego guarde el archivo .PS1 y cree un acceso directo a él como
powershell.exe -noexit -File "C:\PS.ps1".fuente
agregar `-noexit '
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administratorfuente
Intente guardar sus comandos como un archivo de script y luego haga que sus accesos directos usen la línea de comandos:
powershell.exe -noExit <filename.ps1>Esto hará que sus accesos directos ejecuten el archivo de secuencia de comandos especificado y no salgan de PowerShell al final de la ejecución de las secuencias de comandos, por lo que puede continuar usando la ventana una vez establecida la sesión.
Para que esto funcione, debe asegurarse de que la política de ejecución de PowerShell no esté restringida, de lo contrario no se pueden ejecutar archivos de script
Para verificar la política de ejecución actual que puede usar
Get-ExecutionPolicyy puede usarSet-ExecutionPolicypara cambiar la política de manera permanente o agregar el-ExecutionPolcyparámetro a la línea de comandos de powershell para cambiarlo en una sola sesión.Se puede encontrar más información sobre las políticas de ejecución y su impacto utilizando el
help about_Execution_Policiescomando.fuente