Sitecore PowerShell esperar a que se cierre el modal de Show-ListView antes de continuar.
Estoy escribiendo un script que elimina usuarios que no hayan iniciado sesión desde una fecha proporcionada por el usuario.
Quiero hacer lo siguiente:
- Obtener la fecha del usuario. (no hay problema aquí)
- Obtener una lista de usuarios. (no hay problema aquí)
- Presentar al usuario una ListView de los usuarios potencialmente afectados. (no hay problema aquí)
- Esperar a que se cierre la ventana modal antes de continuar (aquí es donde me quedo atascado)
- Hacer algunas otras cosas…
Los pasos 1-3 funcionan bien, pero cuando aparece la ventana modal, todo el código posterior se ejecuta inmediatamente con la ventana modal aún abierta.
Pensé que Wait-ScriptSession podría ser la solución, pero no está funcionando. Esto es lo que tengo ahora mismo (pseudo-código):
#obtener usuarios, etc.
Start-ScriptSession -ScriptBlock {$listOfRemovedUsers | Show-ListView @outputProps -Property $columns} -Id “Removable Users Modal” -Interactive
Wait-ScriptSession -Id “Removable Users Modal” -Timeout 30
#hacer algunas cosas más
davy.ai
Para esperar correctamente a que el usuario cierre la ventana modal, puedes utilizar el comando
Show-ListView
con el parámetro-PassThru
para recibir la respuesta del usuario. Aquí tienes una versión actualizada de tu código:En este código actualizado, la variable
$selectedUsers
almacena la respuesta del usuario (es decir, la lista de usuarios seleccionados). Al utilizar el parámetro-PassThru
conShow-ListView
, el comando espera a que el usuario cierre la ventana modal y devuelve la respuesta del usuario. Luego se utiliza el cmdletWhere-Object
para filtrar la lista original de usuarios y quedarse con aquellos que fueron seleccionados por el usuario, los cuales se almacenan en la variable$removedUsers
.