Qual é o seu principal comando do PowerShell? Vamos fazer uma lista e votar nos melhores!
Qual é o seu principal comando do PowerShell? Vamos fazer uma lista e votar nos melhores!
Respostas:
Get-Member é o rei dos cmdlets do PowerShell.
O Get-Member permite explorar interativamente os membros estáticos dos objetos (com a opção -estática) dos objetos.
Eu gosto de ter um script para encontrar usuários do 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 "*"'
(substitua "filter" pelo que for)
No momento, sou um grande fã do Get-WMIObject.
Para mim -Qual é o mais útil.
Nenhuma pergunta sobre isso - Get-Member. Não consigo imaginar nenhuma sessão do PowerShell sem usá-la. A capacidade de descoberta é um dos recursos mais fortes do Windows PowerShell.
Isso é mais uma técnica do que um cmdlet ou função específica, mas minha coisa favorita do PS é a construção de objetos:
$foo=""|select bar, baz, gronk|ft
da-te
bar baz gronk
----- ----- ------
o que é útil para transformar dados não estruturados em um conjunto de objetos para processamento adicional.
Um dos meus favoritos:
Get-Content "c: \ logfile.log" - aguarde
A versão powershell do arquivo de log 'tail -f' '
Vejo Get-Member listado, o que eu tenho que concordar que é o melhor, mas um segundo próximo e igualmente necessário para mim é:
Format-List
A maneira como eu costumo usar isso é depois de um pipe para me mostrar todos os valores das propriedades de um objeto:
$SomeObject | fl *
A GM dirá a você qual é o objeto e listará os nomes e tipos de suas propriedades, mas, na maioria das vezes, isso não ajuda a entender realmente como essas propriedades são usadas sem consultar a documentação que pode ser entediante.
$SomeObject | Format-List *
produzirá todos os valores das propriedades disponíveis no objeto, para que você possa ver quais são seus valores atuais e começar a procurar propriedades que deseja selecionar ou usar para filtrar objetos.
Costumo descobrir que um objeto tem várias propriedades que, com base na documentação, parecem ter os dados que eu quero, mas, na realidade, apenas uma das propriedades tem dados ou os dados em uma delas não são exatamente o que você esperaria com base em apenas a documentação.
Eu fiz apenas um pequeno método que eu adicionei ao meu perfil. Consulte http://blog.keystroke.ch/2007/08/30/diskusage-in-powershell/ .
myserver diskusage
é o meu comando preferido.
Além do Get-Member, eu teria que dizer Add-Member e New-Object, que oferecem a capacidade de usar o Extensible Type System.
A possibilidade de adicionar membros a qualquer objeto a qualquer momento permite que você obtenha as informações exatas que você precisa com a capacidade de classificá-las, agrupá-las, cortá-las, cortá-las, exportá-las ou o que você quiser fazer com ela.