
Estoy intentando 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
Usando esto, puedo conectarme y ejecutar comandos y todo es genial.
Lo que he intentado hacer es:
Cree un archivo llamado Win2012SrvCore1.ps1
con 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
Cree un archivo llamado Win2012SrvCore2.ps1
con lo siguiente:
PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Cada ps1
archivo se iniciará y cerrará rápidamente con un texto en rojo que no puedo leer.
Intenté agregar PAUSE
a cada secuencia de comandos, pero eso no parece impedir que la ventana se cierre.
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.
Respuesta1
$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
Añade una línea más:
Import-PSSession $session
Luego guarde el archivo .PS1 y cree un acceso directo como powershell.exe -noexit -File "C:\PS.ps1"
.
Respuesta2
agregue `-noexit'
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Respuesta3
Intente guardar sus comandos como un archivo de secuencia de comandos 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 podrá continuar usando la ventana después de que se establezca 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 podrán ejecutar archivos de script.
Para verificar la política de ejecución actual, puede usar Get-ExecutionPolicy
y puede usar Set-ExecutionPolicy
para cambiar la política de forma permanente o agregar el -ExecutionPolcy
parámetro a la línea de comandos de PowerShell para cambiarlo para una sola sesión.
Puede encontrar más información sobre las políticas de ejecución y su impacto utilizando el help about_Execution_Policies
comando.