Mostrar una notificación de mensaje de PowerShell

PowerShell es un tipo de indicador de línea de comandos. Se amplía con una gran variedad de cmdlets listos para usar y viene con la capacidad de usar el marco .NET / C # en una variedad de situaciones. Windows incluye una herramienta GUI, PowerShell ISE, que le permite editar scripts y solucionar problemas de una manera útil. A veces, muchos de ellos tienen que mostrar una notificación en un script de PowerShell para que el usuario sepa que se está realizando una tarea en particular. A continuación, se muestran algunos métodos que puede utilizar.

Un mensaje en su secuencia de comandos de PowerShell puede notificar al usuario que su secuencia de comandos establecida desde hace mucho tiempo ha terminado de funcionar. O puede decir que algo anda mal o que ha sucedido algo importante. Estos son los métodos que suelo utilizar.

El método más simple implica la aplicación clásica de Windows Scripting Host.

Con PowerShell, crear un objeto COM de muestra es fácil. En nuestro caso, tenemos el objeto Windows.Shell de WSH. Se puede crear con el siguiente comando:

$wsh = New-Object -ComObject Wscript.Shell

Ahora podemos usarlo $wsh objetar a los métodos disponibles para llamar Wscript.Shell. Hay uno de ellos Popup, eso es lo que necesitamos. Se puede utilizar el siguiente código:

$wsh = New-Object -ComObject Wscript.Shell

$wsh.Popup("Hello from Winaero")

Mensajería de Windows 10 PowerShell

Un Popup el método se puede personalizar. Por ejemplo, puede especificar su título, asignar uno de los iconos de diálogo predeterminados o mostrar botones adicionales.

La sintaxis es la siguiente.

Popup(<Text>,<SecondsToWait>,<Title>,<Type>)

Text el texto que desea mostrar en el mensaje.

SecondsToWait es un número entero que contiene el número de segundos que se muestra el cuadro hasta que se cierra. Si es nulo u omitido, el cuadro de mensaje esperará hasta que el usuario lo rechace.

Title es una cadena que contiene el título que se mostrará como título del mensaje.

Type es un número entero que corresponde a una característica y comportamiento particulares definidos en la siguiente tabla.

Valor Botón
0 Bien
1 Ok, cancelar
2 Aborto,
Ignorar, intentar de nuevo
3 Y si,
No, cancelar
4 sí No
5 Otra vez por favor
cancelación
dieciséis Crítico
32 Pregunta
48 Exclamación
64 información

Para encontrar el icono y los botones que necesita, combine los valores. Por ejemplo, para escribir una pregunta, use 1 + 32 como propia Type valor. Vea el siguiente ejemplo:

Pregunta de PowerShell Windows 10

El modo emergente puede hacer clic en el botón para restaurar el usuario para cerrar el cuadro de mensaje emergente. Consulte la siguiente tabla:

Valor devuelto Presione el botón
1 Bien
2 cancelación
3 error
4 Repetir
5 Ignorar
6 Y si
7 No.
-1 Nada, mensaje
caja cerrada automáticamente (tiempo de espera)

Puede administrar el valor de retorno de la siguiente manera:

$result = $wsh.Popup("Do you like Winaero?",0,"A question from PS",1+32)

Como alternativa, puede utilizar la llamada .NET Framework para mostrar un mensaje.

El comando que debe usar tiene este aspecto:

[System.Windows.MessageBox]:: Show («Hola desde Winaero»)

El resultado:

MessageBox NET PowerShell Windows 10

Nuevamente, puedes personalizarlo. Para referencia, consulte la página siguiente:

MessageBox.Show modo

Finalmente, hay un módulo especial para PowerShell que puede usar siempre que sea posible.

Si no está limitado a usar módulos externos, puede hacerlo Tostada quemada.

Instálelo de la siguiente manera:

  1. Abra PowerShell como administrador.
  2. Escribe: Install-Module -Name BurntToast
  3. El módulo está listo para usar.

Para mostrar una notificación, ejecute el comando:

Import-Module BurntToast
New-BurntToastNotification -Text "Winaero","Hello from PowerShell"

Notificación de Windows 10 Toast PowerShell

Mira Galería de PowerShell para obtener instrucciones y detalles completos.

Tenga en cuenta lo siguiente. Para ver su anuncio,

  1. La política de ejecución de PowerShell debe configurarse para permitir la carga de módulos de terceros.
  2. Si Focus Assist está habilitado en Windows 10, puede ocultar las notificaciones de BurntToast.
  3. El módulo se puede quitar con el comando Uninstall-Module BurntToast.

¡Eso es todo!

Ayúdanos

Winaero depende en gran medida de su apoyo. Puede ayudar a que el sitio continúe brindándole contenido y software interesantes y útiles utilizando estas opciones:

Si te gusta este artículo, compártelo usando los botones a continuación. No le costará mucho, pero nos ayudará a crecer. ¡Gracias por tu apoyo!