O Windows PowerShell desenvolvido em novembro de 2006, é um shell de linha de comando para gerenciamento de sistemas muito mais completo que o antigo cmd.exe.

O PowerShell permite a automação de rotinas de administração do Windows e aplicativos através de Scripts com acesso a todas as APIs .NET disponíveis no sistema e de outras APIs do Windows.

Prompt do Windows PowerShell 2.0

Figura 1: Prompt do Windows PowerShell 2.0

Inicialmente era um componente opcional no Windows server 2008, mas já está habilitado por padrão a partir do Windows Server 2008 R2 e Windows 7, também pode ser feito o download no site oficial: http://support.microsoft.com/kb/968929, pode ser instalado em outras versões do Windows como Windows XP, Windows Vista e Windows Server 2003.

O Windows PowerShell 2.0 permite a execução remota de comandos em outros computadores a partir de um computador que possua o Power Shell 2.0. A depuração, execução e edição de Scripts pode ser feita através de um ambiente gráfico: “PowerShell Integrated Scripting Environment (ISE)”, utilizando sintaxe codificada por cor, depuração gráfica, execução seletiva e ajuda contextual. Windows PowerShell 2.0 permite executar o comando ou a expressão assincronamente e "em segundo plano" sem interação com o console.

Novos recursos de depuração foram adicionados ao Windows PowerShell que permitem que você defina pontos de interrupção em linhas, colunas, variáveis e comandos, e permitem que você especifique a ação que ocorre quando o ponto de interrupção é atingido.Comandos internos do PowerShell são chamados de cmdlets e são compostos por um hífen (–) e uma ação, ex:

Podem ser criadas funções como em uma linguagem de programação, utilizando laços de repetição e de condição. Estas funções podem ser criadas diretamente no prompt do PowerShell ou em arquivo de texto puro depois alterando sua extensão para .ps1, para execução do Script deve ser digitado no terminal o nome com o endereço do Script criado.

Exemplo de código executado

Figura 2: Exemplo de código executado.

Após criar seu script com a extensão ".ps1", para que se possa executar Scripts em seu computador você deve ter permissão de execução, você deve digitar no terminal do PowerShell o comando:

Listagem 1: Dando Permissão de Execução

Set –ExecutionPolicy RemoteSigned

Mas você deve tomar cuidado com Scripts de fontes desconhecidas, pois podem danificar o seu computador.

Listagem 2: Exemplo de criação de variáveis com escopo de visibilidade
$private : var = 12;

$global: variável = Windows;

Listagem 3: Sabendo o tipo de uma variável:

$variavel.GetType().Name

Exemplo retirado do site: http://powershell.com/cs/

Listagem 4: Exemplo de um Script

# Add a domain user to a local group on the local or a remote computer

$computerName = Read-Host ''Enter computer name or press for localhost''
$userName = Read-Host ''Enter user name''
$localGroupName = Read-Host ''Enter local group name''

	if ($computerName -eq "") {$computerName = "$env:computername"} [string]$domainName = ([ADSI]'''').name

		([ADSI]"WinNT://$computerName/$localGroupName,group").Add("WinNT://$domainName/$userName")


			Write-Host "User $domainName\$userName is now member of local group 
			$localGroupName on $computerName."

Para a execução do Windows PowerShell em seu computador é necessário:

  • Windows Installer 3.1;
  • .Net Framework 2.0 SP1;
  • PowerShell 1.0 ou 2.0;

Site Oficial: http://www.microsoft.com/PowerShell

Suporte: http://technet.microsoft.com/en-us/library/bb978526.aspx