Não deixe de conferir nosso primeiro artigo apresentando o PowerShell e fique ligado durante toda a semana.
A anatomia de um cmdlet
Na primeira parte da série, vimos um cmdlet semelhante a este:
Update-Help
Os cmdlets do PowerShell têm uma sintaxe Verb-Noun, que pode ser vista acima. O importante é notar que o substantivo é sempre singular, embora o cmdlet possa retornar mais de um resultado. Para ver uma lista de verbos legais no PowerShell, você pode usar o cmdlet Get-Verb.
Conhecer os verbos legais e lembrar da regra do substantivo singular ajuda a adivinhar os nomes dos cmdlets. Por exemplo, suponha que você queira pegue uma lista de Serviços e seu status - isso é certo, é tão fácil quanto o Get-Service. Como você acha que nós pegue uma lista de corrida processos - isso mesmo, o Get-Process fará o truque.
Get-Process
Get-Mailbox
Contudo, há uma exceção. Troca à parte, todos os outros comandos específicos de tecnologia exigirão um prefixo. Por exemplo, se quiséssemos obter os usuários que estão atualmente conectados via Remote Desktop, nós digitaríamos:
Get-RDUserSession
Que pode ser visto na imagem abaixo.
Nota: Esta captura de tela foi tirada em uma caixa do Server 2012, pois é onde você encontrará a maioria dos módulos específicos da tecnologia.
Aliases
Outro recurso que o PowerShell oferece é a capacidade de ter várias maneiras de executar o mesmo comando - aliases, se preferir. O mais impressionante é que eles incluíram muitos comandos que você pode estar usando no prompt de comando, bem como alguns aliases do Linux. Por exemplo, no PowerShell, podemos obter uma listagem de diretórios usando:
Get-ChildItem
Get-Alias –Name ls
Get-ChildItem –Definition Get-ChildItem
New-Alias –Name icanhazfilez –Value Get-ChildItem
Obviamente, você precisará substituir “icanhazfilez” pelo nome de seu novo alias e Get-ChildItem pelo cmdlet que deseja que ele seja executado sob o capô.
Truncando Parâmetros
O Windows PowerShell também permite truncar nomes de parâmetros até o ponto em que eles se tornam ambíguos, ou seja, até o ponto em que o PowerShell não consegue mais descobrir qual parâmetro você está falando. Por exemplo:
Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost
Get-Service -Na ‘Apple Mobile Device’ -Com localhost
Comandos Legados
Finalmente, os comandos que você conhece e ama ainda funcionarão no PowerShell.
ping www.google.com