¿Cuál es su principal comando Powershell? ¡Hagamos una lista y votemos los mejores!
¿Cuál es su principal comando Powershell? ¡Hagamos una lista y votemos los mejores!
Respuestas:
Get-Member es el rey de los cmdlets de PowerShell.
Get-Member le permite explorar de forma interactiva miembros y tipos de objetos (con los -static interruptor de miembros estáticos).
Me gusta tener un script para encontrar usuarios de AD:
$strFilter = "(&(objectCategory=User)(sAMAccountName=[USERNAME]))";
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher;
$objSearcher.SearchRoot = "LDAP://dc=[AD_Location]";
$objSearcher.Filter = $strFilter;
$objSearcher.SearchScope = "Subtree";
$objSearcher.FindALL()
Get-ADUser -filter 'Name -like "*"'
(reemplace "filtro" con lo que sea)
Por el momento soy un gran admirador de Get-WMIObject.
No hay duda al respecto: Get-Member. No puedo imaginar ninguna sesión de PowerShell sin usarla. La capacidad de descubrimiento es una de las características más sólidas de Windows PowerShell.
Esta es más una técnica que un cmdlet o función en particular, pero mi cosa favorita de PS es la construcción de objetos:
$foo=""|select bar, baz, gronk|ft
te dio
bar baz gronk
----- ----- ------
lo cual es útil para convertir datos no estructurados en un conjunto de objetos para su posterior procesamiento.
Uno de mis favoritos:
Obtener contenido "c: \ logfile.log" -wait
La versión powershell de 'tail -f' logfile '
Veo que Get-Member enumeró que tengo que aceptar que es el mejor, pero un segundo casi igual de necesario para mí es:
Format-List
La forma en que uso esto más comúnmente es después de una tubería para mostrarme todos los valores de las propiedades de un objeto:
$SomeObject | fl *
GM le dirá cuál es el objeto y enumerará los nombres y tipos de sus propiedades, pero la mayoría de las veces esto no le ayuda a comprender realmente la forma en que se usan esas propiedades sin buscar la documentación que puede ser tediosa.
$SomeObject | Format-List *
generará todos los valores de las propiedades disponibles en el objeto para que pueda ver cuáles son sus valores actuales y comenzar a buscar las propiedades que desea seleccionar o usar para filtrar objetos.
A menudo encontraré que un objeto tiene múltiples propiedades que, según la documentación, parecen tener los datos que quiero, pero en realidad solo una de las propiedades tiene datos o los datos en uno de ellos no son en absoluto lo que esperarías según La documentación sola.
Solo hice un pequeño método que agregué a mi perfil. Ver http://blog.keystroke.ch/2007/08/30/diskusage-in-powershell/ .
diskusage myserver
es mi comando preferido
Además de Get-Member, tendría que decir Add-Member y New-Object que le dan la posibilidad de usar el Sistema de tipos extensibles.
Ser capaz de agregar miembros a cualquier objeto en cualquier momento le permite obtener la información exacta que necesita con la capacidad de ordenarla, agruparla, dividirla, cortarla en dados, exportarla o lo que quiera hacer con ella.