Powershell - Scripting

Windows PowerShell é um command-line shell e scripting languageprojetado especialmente para administração de sistema. Seu análogo no Linux é chamado de script Bash. Construído no .NET Framework, o Windows PowerShell ajuda os profissionais de TI a controlar e automatizar a administração do sistema operacional Windows e dos aplicativos executados no ambiente Windows Server.

Comandos do Windows PowerShell, chamados cmdlets, permitem gerenciar os computadores a partir da linha de comando. Os provedores do Windows PowerShell permitem que você acesse armazenamentos de dados, como o Registro e o Armazenamento de certificados, com a mesma facilidade com que acessa o sistema de arquivos.

Além disso, o Windows PowerShell tem um analisador de expressão sofisticado e uma linguagem de script totalmente desenvolvida. Portanto, em palavras simples, você pode concluir todas as tarefas que realiza com a GUI e muito mais. Scripting do Windows PowerShell é uma linguagem de script totalmente desenvolvida e tem um analisador de expressões rico /

Características

  • Cmdlets - Os cmdlets executam tarefas comuns de administração do sistema, por exemplo, gerenciar o registro, serviços, processos, logs de eventos e usar o Windows Management Instrumentation (WMI).

  • Task oriented - A linguagem de script PowerShell é baseada em tarefas e fornece suporte para scripts e ferramentas de linha de comando existentes.

  • Consistent design- Como cmdlets e armazenamentos de dados do sistema usam sintaxe comum e têm convenções de nomenclatura comuns, o compartilhamento de dados é fácil. A saída de um cmdlet pode ser canalizada para outro cmdlet sem qualquer manipulação.

  • Simple to Use - A navegação simplificada e baseada em comandos permite que os usuários naveguem no registro e outros armazenamentos de dados semelhantes à navegação do sistema de arquivos.

  • Object based- PowerShell possui recursos poderosos de manipulação de objetos. Os objetos podem ser enviados para outras ferramentas ou bancos de dados diretamente.

  • Extensible interface. - O PowerShell é personalizável, pois os fornecedores de software independentes e os desenvolvedores corporativos podem criar ferramentas e utilitários personalizados usando o PowerShell para administrar seu software.

Variáveis

Variáveis ​​do PowerShell são objetos nomeados. Como o PowerShell trabalha com objetos, essas variáveis ​​são usadas para trabalhar com objetos.

Criando variável

O nome da variável deve começar com $ e pode conter caracteres alfanuméricos e sublinhados em seus nomes. Uma variável pode ser criada digitando um nome de variável válido.

Digite o seguinte comando no console PowerShell ISE. Supondo que você esteja na pasta D: \ test.

$location = Get-Location

Aqui, criamos uma variável $ location e atribuímos a ela a saída do cmdlet Get-Location. Agora contém a localização atual.

Usando variável

Digite o seguinte comando no console PowerShell ISE.

$location

Resultado

Você pode ver a saída a seguir no console do PowerShell.

Path                                                                                    
----                                                                                    
D:\test

Obtendo informações de variáveis

O cmdlet Get-Member pode informar o tipo de variável que está sendo usado. Veja o exemplo abaixo.

$location | Get-Member

Resultado

Você pode ver a saída a seguir no console do PowerShell.

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}