¿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.

  • Windows Server 2012 R2 Standard ubicado en nuestra DMZ tiene problemas con la connection a RoDC
  • Win Srv 2012 planificador de tareas - disparador basado en el inicio de sesión de la estación de trabajo de dominio / fin de sesión / dormir / despertar
  • La máquina virtual Hyper-V aparece en PowerShell pero no en Hyper-V Manager
  • Segundo post de inicio de session en el server RDWeb 2012 R2
  • El explorador pnetworkingeterminado se abre en msn.com al iniciar session en Windows Server
  • La VM Hyper-V no inicia el disco duro SCSI
  • Acceso al recurso de VirtualBox desde IIS
  • ¿Puedo cambiar las descripciones de actualización en WSUS?
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.