2012-05-22 25 views
5

¿Hay algún complemento o herramienta que me permita mostrar una lista de objetos a un usuario (estilo Format-Table) y permitirles usar el cursor para seleccionar una opción de la lista, incluido el desplazamiento potencial de un ¿Larga lista? Me gustaría ser capaz de hacer algo como esto:Selección interactiva de la lista en Powershell

Get-User -anr $search |Get-Choice| Set-User -EnableAccount true

Este script debe mostrar una lista de cuentas que emparejan a una petición de la consola, permite al usuario desplazarse hacia arriba y abajo en la lista interactiva , y seleccione una opción presionando Enter (o pase nulo si el usuario golpea escape). Solo se pasará una cuenta a Set-User, en lugar de una lista de todas las opciones coincidentes.

Obviamente los detalles pueden diferir. Mientras que yo preferiría una versión de consola, una gráfica sería aceptable (que apareció un diálogo de Windows). Las teclas exactas pueden ser diferentes. Pero el objetivo principal (aceptar una lista, obtener la opinión del usuario, extraer el resultado) debe cumplirse.

Respuesta

7

en v3:

Get-User -anr $search | Out-GridView -PassThru | Set-User -EnableAccount true 
+0

que funciona perfectamente, gracias @ walid2mi! No me importa instalar la versión beta de PSv3 en mi máquina cliente, y esta es una implementación mucho más limpia que la función compatible con Out-Form. –

1

echar un vistazo para Out-Form

seudo uso:

out-form -title "Enable Account" -data (Get-user -anr $search) -columnNames ("AccountName") ` 
    -columnProperties ("SamAccountName") -actions @{Enable It!" = { $_ | Set-User -EnableAccount true}} 
Cuestiones relacionadas