¿Cómo puedo invocar un process de primer plano desde un trabajo PowerShell de background?

Estoy trabajando en un script de PowerShell que proporciona salida de console y reinicia el sistema varias veces durante la operación del script. Tan pronto como se inicia, se registra como un trabajo progtwigdo para que pueda recoger donde lo dejó después de reiniciar:

$JobArgs = @( $ScriptPath ($ArgumentList -join ' ') ) $JobScript = { param( [string] $ScriptPath, [string] $Arguments ) $PSArgs = @( '-NoExit' '-NoLogo' '-NoProfile' "-File $ScriptPath $Arguments" ) Start-Process powershell.exe -ArgumentList $PSArgs -Wait } $AtLogonTrigger = New-JobTrigger -AtLogOn -User $LoginUser $JobProperties = @{ 'Name' = $JobName 'Trigger' = $AtLogonTrigger 'ScheduledJobOption' = New-ScheduledJobOption -RunElevated 'ScriptBlock' = $JobScript 'ArgumentList' = $JobArgs } $Job = Register-ScheduledJob @JobProperties -ErrorAction Stop 

Sin embargo, mientras esto hace lo que quiero, lo hace en segundo plano cuando prefiero que la window de PowerShell sea visible. No parece ser una intrínseca de PowerShell tampoco; simplemente iniciar notepad.exe través de Start-Process proporciona también una instancia de bloc de notas oculta.

Aunque estoy consciente de que probablemente no debería confiar en la salida de la console, es lo suficientemente bueno para mis propósitos.

¿Hay una manera de invocar un process de primer plano de un trabajo de background?

One Solution collect form web for “¿Cómo puedo invocar un process de primer plano desde un trabajo PowerShell de background?”

Este comportamiento es por layout. Los trabajos de PowerShells y las tareas progtwigdas de Windows se ejecutan en segundo plano (Sesión 0) y deben / no interactuar con el escritorio del usuario.

Los trabajos de PowerShell son realmente sólo tareas progtwigdas de Windows, puedes encontrarlas en:

\ Microsoft \ Windows \ PowerShell \ ScheduledJobs

La única forma de ejecutar una tarea progtwigda para interactuar con la session de escritorio es establecer: Run only when user is logged on

Con schtasks.exe utilizaría el schtasks.exe /IT

Los ScheduledJobOptions en los cmdlets de PowerShell no parecen permitirle especificar esto.

Para intentar encontrar manualmente las tareas progtwigdas correspondientes a su trabajo de PowerShell y cambiar esa propiedad.

  • ¿Por qué cambió mi fuso horario de Windows Server 2012 R2 durante la noche?
  • SCVMM 2012 R2 - no se puede conectar a la console de VM
  • IKEv2 con PSK en Windows Server 2012
  • Bloquear packages UDP específicos - windows
  • ¿Cómo henetworkingar de GPO de dominio pnetworkingeterminado?
  • Windows Server 2012 R2 en AWS EC2, cambiar la resolución más allá de 1280x1024
  • Cómo utilizar VPN IP como IP saliente solamente
  • Actualización de la versión de Windows Server en un server de Exchange
  • Server 2012 No se puede encontrar C: Boot to cd
  • Eliminar sesiones de usuario inactivas en un server Terminal Server de Windows Server 2012 R2
  • desplegando nota base para el clúster HPC en el server 2012R2 se bloquea
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.