0% acharam este documento útil (0 voto)
144 visualizações34 páginas

Powershell For Newbies Getting Started Powershell4

Powershell 4 newbies

Enviado por

samers
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
144 visualizações34 páginas

Powershell For Newbies Getting Started Powershell4

Powershell 4 newbies

Enviado por

samers
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 34

Machine Translated by Google

POWERSHELL
PARA NOVATOS
Introdução ao PowerShell
4.0
Jeffery Hicks
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Abstrato

Este eBook destina-se a ser um guia de início rápido para profissionais de TI que desejam
aprender sobre o Windows PowerShell. O eBook assume que o leitor tem pouca ou nenhuma
experiência com o PowerShell e precisa de alguma orientação para começar. O eBook
assumirá o PowerShell v4, embora para um iniciante isso não importe muito, pois os tópicos
fundamentais são independentes da versão.

Conteúdo
Introdução e expectativas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

O que é PowerShell?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

O que o PowerShell não é. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Por que é importante para você. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Premissas e requisitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Ajuda do PowerShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Atualizando ajuda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Salvando ajuda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Usando ajuda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

On-line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Sobre tópicos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Terminologia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Cmdlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Parâmetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Alias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Função. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Variável. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Módulo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Snapin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Fornecedor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

O paradigma do PowerShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Get-Membro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

O pipeline do PowerShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Maior nem sempre é melhor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Um exemplo da Veeam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Leitura adicional e recursos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

Sobre o autor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Sobre a Veeam Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Introdução e expectativas
O Windows PowerShell existe há vários anos e, embora no momento em que escrevemos este eBook
estejamos na v4.0 e a v5.0 esteja em pré-visualização, ainda há muitos profissionais de TI que só agora
estão percebendo que precisam aprenda PowerShell. Eles perceberam que o PowerShell não é uma
moda passageira e que, se quiserem algum tipo de segurança no emprego ou futuro profissional
relacionado ao Windows e às tecnologias baseadas na Microsoft, o PowerShell desempenhará um papel
importante.

O objetivo deste eBook é fornecer um curso intensivo sobre os termos, conceitos e comandos
essenciais do PowerShell. Presumo que você tenha pouca ou nenhuma experiência com o PowerShell e
seja o que a Microsoft considera um profissional de TI; ou seja, alguém cujo trabalho diário envolve o

gerenciamento de servidores, aplicativos e plataformas baseados em Windows. Naturalmente, você não


pode aprender o PowerShell de um eBook, mas espero deixá-lo com informações suficientes para
começar e encerrarei com uma lista de recursos e próximas etapas.

O que é PowerShell?
Primeiro, o que exatamente é o PowerShell? Minha resposta é que o PowerShell é um mecanismo de
gerenciamento baseado em objeto baseado no .NET Framework. Esse mecanismo é exposto por meio
de uma série de comandos chamados cmdlets e provedores (observe que os termos do PowerShell são
explicados posteriormente na seção Terminologia). O PowerShell pode ser exposto por meio de um
console interativo, bem como de uma linguagem de script orientada a lotes.

O mecanismo está hospedado em um aplicativo. A Microsoft envia dois prontos para uso, pelo menos
no cliente. O console do PowerShell que você provavelmente já viu é hospedado pelo shell de
comando herdado cmd.exe. Em outras palavras, o PowerShell está sentado em cima de uma janela
CMD, com todos os benefícios e desvantagens que isso implica.
O PowerShell também pode ser hospedado em uma GUI, como o PowerShell ISE, sobre o qual falarei

mais tarde. Fornecedores, desenvolvedores e a comunidade do PowerShell podem criar seus próprios
aplicativos de hospedagem e, geralmente, o PowerShell se comporta da mesma forma,
independentemente de como você está interagindo com ele.

Na verdade, essa é uma das grandes vantagens do PowerShell. Depois de aprender os fundamentos,
não importa se você está trabalhando com arquivos, processos, contas de usuário do Active Directory,
caixas de correio do Exchange ou máquinas virtuais Hyper-V. Você usará as mesmas habilidades e
frequentemente os mesmos cmdlets. Sim, você pode ter dificuldades no início para aprender o
PowerShell, mas depois de superar o obstáculo inicial, acho que descobrirá que sua curva de
aprendizado se torna muito mais rasa.

4
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

O que o PowerShell não é


Há também alguns equívocos sobre o PowerShell que preciso esclarecer. Primeiro, o PowerShell não é

simplesmente outra linguagem de script como o VBScript. Sim, você pode criar alguns scripts muito poderosos

usando a linguagem de script simples do PowerShell, mas não precisa usar um script para usar o PowerShell.

Muitos de vocês simplesmente abrirão um prompt do PowerShell e começarão a executar comandos. Tudo o

que os scripts fazem é economizar tempo digitando.

O PowerShell não é uma linguagem de programação. Embora seja construído no .NET Framework e

permita que você crie algumas ferramentas incríveis, essa não é a intenção. Existe um SDK do PowerShell,

mas destina-se a desenvolvedores que usam o Visual Studio para criar soluções baseadas em PowerShell.

Isso não é algo com o qual um profissional de TI típico precisa se preocupar.

Por fim, usar o PowerShell não significa que você está destinado a passar o dia digitando comandos em

um prompt de comando. Ainda haverá ferramentas gráficas, mas elas serão executadas em cima do

PowerShell. É mais do que provável que você esteja usando o PowerShell agora por meio de uma GUI e

nem saiba disso. As limitações da GUI estão relacionadas à própria natureza de seu design. Você só pode

fazer o que a GUI foi projetada para fazer. Eventualmente, você desejará sair da GUI e resolver o problema

com suas próprias mãos em um prompt do PowerShell. Ou, eventualmente, construa sua própria GUI!

Por que é importante para você


Tudo isso importa porque o PowerShell é parte integrante do Windows e só continuará a ser difundido

em seu uso. Ainda hoje estamos vendo onde o PowerShell é a cola que mantém uma variedade de

ferramentas e tecnologias de gerenciamento juntas. Do fluxo de trabalho do PowerShell à configuração

do estado desejado e novos recursos na v5, o PowerShell é o denominador comum.

Se você quer ter uma carreira como profissional de TI, há muito tempo defendo que não é uma questão de saber

se você aprenderá o PowerShell, mas quando.

Além da Microsoft, muitas empresas estão oferecendo soluções PowerShell para seus produtos. Empresas

como VMware, Citrix, StarWind e Veeam® agora oferecem ferramentas PowerShell para gerenciar seus

respectivos produtos – geralmente de graça! Sim, você pode continuar usando as ferramentas tradicionais,

mas acho que quando você perceber o que pode realizar em um prompt do PowerShell, você se converterá. E

depois de aprender os fundamentos, não importa de onde vêm os comandos do PowerShell, todos eles devem
se comportar da mesma forma.

5
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Premissas e requisitos
Tudo o que vou demonstrar neste eBook será baseado no PowerShell 4.0, que no
momento da redação deste artigo, é a versão aprovada de produção mais atual. Eu estarei
usando um cliente Windows 8.1. Para iniciantes, muito do que falarei também se aplicará ao
PowerShell 3.0. Se você ainda estiver executando o PowerShell 2.0, recomendo que você
atualize quando possível. E se por algum motivo você ainda estiver executando o PowerShell
1.0, você tem meus pêsames.

Como afirmei anteriormente, este guia é para iniciantes absolutos e cobrirá


conceitos fundamentais. Se você usa o PowerShell há algum tempo, este eBook pode ser uma
boa atualização. Não abordarei tópicos avançados, como fluxo de trabalho e configuração do
estado desejado, ou mesmo tópicos intermediários, como comunicação remota do PowerShell.
Quero que você se sinta confortável digitando comandos em um prompt do PowerShell e
deixe de lado um pouco de sua ansiedade ou apreensão.

Ajuda do PowerShell
A primeira coisa que você deve entender no PowerShell é como usar o sistema de ajuda.
A equipe do PowerShell escreveu uma documentação completa Muitos outros suplementos da
Microsoft e de terceiros também terão documentação de ajuda. Se você não souber como usar
a ajuda, terá dificuldades constantes para aprender e usar o PowerShell.

Atualizando ajuda
A primeira coisa que você precisa fazer em uma nova instalação é atualizar a ajuda. Por
padrão, o PowerShell é fornecido apenas com ajuda mínima. Para servidores, isso
geralmente não é um problema tão grande, pois é improvável que você esteja usando um
servidor para sua administração diária. Para atualizar a ajuda, seu computador precisa ter
uma conexão com a Internet. Em uma sessão elevada do PowerShell, execute este comando:

PS C:\>update-help

O PowerShell irá enumerar todos os módulos instalados, que são pacotes de comandos,
encontrar o link para ajuda atualizada, baixar e instalar os arquivos de ajuda.

figura 1

6
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Para comandos prontos para uso, isso significa que seu computador se conectará a um site
da Microsoft para obter a ajuda mais atualizada. Por design, o comando se conectará apenas
uma vez a cada 24 horas, a menos que você use o parâmetro –Force como na Figura 1.

Esteja ciente de que nem todos os módulos terão ajuda atualizada. Portanto, não se surpreenda se
você receber algumas mensagens de erro. Não há nada que você possa fazer a não ser ignorá-los e
esperar que uma ajuda eventualmente atualizada seja fornecida.

Salvar ajuda
Uma desvantagem de usar o comando Update-Help é que cada área de trabalho pode precisar se
conectar à Microsoft para baixar a ajuda mais atual. No entanto, você pode salvar a ajuda em uma
pasta local ou compartilhamento de rede e atualizar a ajuda desse local. O comando funciona
essencialmente da mesma forma que Update-Help, exceto que você precisa especificar o local, que
já deve existir.

PS C:\> Save-Help -DestinationPath \\file01\help\v4help –force

Se você tiver uma combinação de clientes PowerShell 3.0 e posteriores, mantenha a ajuda
para cada versão em uma pasta separada. Uma vez salvo, qualquer pessoa pode executar
Update-Help e especificar o local alternativo.

PS C:\> Update-Help -SourcePath \\file01\help\v4help –force

Esteja ciente de que salvar a ajuda só recuperará a ajuda para os comandos instalados no
computador que executa o comando. Se o computador que executa o Update-Help tiver comandos
diferentes, ele pode não obter ajuda atualizada.

Usando a ajuda
Depois que a ajuda for atualizada, você poderá começar a usá-la. Tudo que você precisa fazer é
pedir ajuda e você pode usar curingas. Você pode usar o comando Get-Help ou a função Help, que
funciona essencialmente da mesma forma que Get-Help com a adição de paginação.

PS C:\> get-help *service

Figura 2

7
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

A Figura 2 mostra todos os comandos no meu computador que o PowerShell pode encontrar que
terminam em 'Serviço'. Para saber mais sobre um comando específico, simplesmente peço ajuda.

PS C:\> help get-service

Dependendo do tamanho da janela do console, a exibição pode terminar com um comando Mais.
Pressione Enter para avançar uma linha de cada vez, pressione a barra de espaço
para avançar para a próxima página ou pressione Q para sair. Na maioria das vezes, o PowerShell não diferencia
maiúsculas de minúsculas.

Figura 3

As seções principais devem ser autoexplicativas. Mas vamos examinar a seção Sintaxe um
pouco mais de perto (veja a Figura 3). Neste comando, existem três maneiras diferentes de
executá-lo. Os parâmetros sempre começam com um traço (-). Qualquer coisa que você vê entre
colchetes [ ] indica que é opcional. Se você executar um comando que tenha um parâmetro
obrigatório ou obrigatório e não o especificar, o PowerShell o avisará. A Figura 4 ilustra alguns
conceitos de ajuda adicionais.

Figura 4

Quando o parâmetro inteiro está em [ ], como no caso de –Name, isso indica um parâmetro
posicional. O PowerShell assumirá que a primeira coisa que você digita após Get-Service é um
nome de serviço. Assim, você pode digitar qualquer um desses comandos.

8
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

PS C:\> bits de serviço

PS C:\> bits get-service –name

O valor do parâmetro deve ser uma string. Se a string tiver espaços, você precisará colocá-la
entre aspas. Quando você vê [ ] como parte do tipo de valor, esta é sua pista de que o
PowerShell aceitará uma matriz ou coleção de objetos – neste caso, nomes de serviço.
Geralmente você pode separar os valores com uma vírgula.

PS C:\> bits get-service, wuauserv

Nome do status Nome de exibição

------ ---- -----------

Bits em execução Serviço de transferência inteligente em segundo plano...

Parado wuauserv Windows Update

O parâmetro –Computername é totalmente opcional, conforme indicado pelo [ ] que inclui toda a
definição do parâmetro. Mas se você quiser usá-lo, você deve especificar o nome do parâmetro
porque o nome em si não está em [ ].

PS C:\> bits get-service -ComputerName chi-dc04

Nome do status Nome de exibição

------ ---- -----------

Bits em execução Serviço de transferência inteligente em segundo plano...

Finalmente, você verá alguns parâmetros, como –DependentServices, que não possuem tipo
de objeto para um valor. Eles são chamados de parâmetros Switch, que são muito semelhantes
a True/False. Se você especificar o parâmetro, o PowerShell tratará o parâmetro como True e fará
o que for projetado para fazer.

PS C:\> get-service winmgmt -ComputerName chi-dc04


-Serviços Dependentes

Nome do status Nome de exibição

------ ---- -----------

Executando UALSVC Serviço de registro de acesso do usuário

Compartilhamento de conexão com a Internet (ICS) do SharedAccess interrompido

Parado NcaSvc Assistente de conectividade de rede

Executando iphlpsvc Auxiliar de IP

No final da ajuda, você verá comentários sobre outras visualizações de ajuda. Eu


recomendo usar –Full.

9
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Figura 5

Isso exibirá informações sobre cada parâmetro, notas e exemplos (consulte as Figuras 5 e 6).

Figura 6

Se você quiser apenas ver exemplos, você pode executar um comando de ajuda como este:

PS C:\> help get-service -Exemplos

Se você deseja apenas detalhes sobre um parâmetro específico, pode usar um comando como o
seguinte, que também suporta curingas:

PS C:\> help get-service -Parameter req*

10
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

-RequiredServices [<SwitchParameter>]

Obtém apenas os serviços que este serviço requer.

Este parâmetro obtém o valor da propriedade ServicesDependedOn do serviço.

Por padrão, Get-Service obtém todos os serviços.

Requeridos? falso

Posição? nomeado

Valor padrão Falso

Aceitar entrada de pipeline? falso

Aceita caracteres curinga? Falso

Essa é uma ótima maneira de ver se o parâmetro aceita curingas, se é posicional ou se você
precisa especificar o nome do parâmetro.

On-line

Se você estiver em dúvida se possui a ajuda mais atualizada, poderá acessar vários
comandos on-line.

PS C:\> help get-service –online

Se o comando tiver um link online, seu navegador abrirá a versão online da documentação do
comando (veja a Figura 7). No caso da Microsoft, a ajuda geralmente é atualizada online antes
de ser empacotada para download.

Figura 7

A página exibirá ajuda e exemplos completos. Pode até haver contribuição da


comunidade na parte inferior da página.

11
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Sobre tópicos

Além da ajuda do comando, o PowerShell inclui vários tópicos de ajuda de conceito,


chamados de tópicos “sobre”.

PS C:\> ajuda sobre*

Como você pode ver na Figura 8, há muitos tópicos.

Figura 8

Depois de saber o que deseja, peça ao PowerShell para exibi-lo (consulte a Figura 9).

PS C:\> ajuda sobre_if

Figura 9

A única limitação é que você não pode usar –Online.


12
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Terminologia
Em seguida, vamos garantir que você entenda os diferentes termos do PowerShell que
provavelmente encontrará.

Cmdlet
Esse termo, pronunciado “command-let”, é a unidade central de execução do PowerShell.
Esses são comandos compilados escritos em uma linguagem .NET Framework. Cmdlets são
pequenos e de propósito único. Os nomes de cmdlet seguem uma convenção de nomenclatura
Verbo-Substantivo padrão. O verbo é de uma lista de verbos .NET padrão, como Set, Remove ou
Get. O Substantivo é uma versão singular da “coisa” com a qual você deseja trabalhar, como Serviço,
Processo ou Log de Eventos. Assim, você provavelmente pode fazer um bom palpite sobre qual
comando você usaria para parar um processo.

Parâmetro
O comportamento do cmdlet pode ser personalizado pelo uso de Parameters. A sintaxe ao usar um
parâmetro é um traço, seguido imediatamente pelo nome do parâmetro, um espaço e, finalmente, o
valor. Se o valor puder conter várias entradas, você geralmente as separa com vírgulas. Como
expliquei na seção de ajuda de leitura, alguns parâmetros são posicionais, então tudo que você
precisa fazer é especificar o valor. Para outros parâmetros, você só precisa digitar o suficiente do
nome do parâmetro para que o PowerShell saiba a qual parâmetro você está se referindo.

Você poderia digitar um comando como este:

PS C:\> get-service -Name adws -ComputerName chi-dc04

Nome do status Nome de exibição

------ ---- -----------

Executando adws Serviços Web do Active Directory

Alternativamente, você pode usar os atalhos de parâmetro e economizar um pouco de digitação.

PS C:\> get-service adws -c chi-dc04

Como Get-Service não tem outro parâmetro que comece com 'C', ele sabe que você quer dizer –
Computername. Essa prática é perfeitamente aceitável ao executar comandos interativos. Mas
quando você começar a criar scripts, use nomes de parâmetros completos.
Você só precisa digitá-lo uma vez e isso tornará seu script mais fácil de entender.

13
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Alias
Um alias é um nome de comando alternativo. Um alias pode ser fornecido como um auxílio
de transição. Por exemplo, alguém com experiência em Linux conheceria o comando ps para
listar processos. Esse mesmo comando é um alias para o cmdlet Get-Process. Assim, um novo
usuário pode usar qualquer um destes comandos:

PS C:\> get-process

PS C:\> PS

No entanto, esteja ciente de que o comando ps NÃO é o mesmo comando no Linux.


É apenas um atalho para Get-Process. Para personalizar o comando, você precisaria usar os
parâmetros de Get-Process. Felizmente, você pode pedir ajuda através do alias. Experimente
estes comandos em sua sessão do PowerShell:

PS:\> ajuda ps

PS:\> diretório de ajuda

Muitos aliases são integrados ao PowerShell. Qual comando você acha que pode usar para
obter um alias? Você pode criar seus próprios aliases para qualquer comando, mesmo
comandos que não sejam do PowerShell.

PS C:\> Set-Alias -Name np -Value Notepad.exe

Este comando criou um atalho chamado np. Quando digitado, o Bloco de Notas será iniciado.
Os aliases só existirão enquanto sua sessão do PowerShell estiver aberta. Na próxima
vez que você abrir o PowerShell, terá que redefini-lo. Ou você pode usar um script de perfil
do PowerShell – vou deixar isso para você ler.

PS C:\> ajuda about_profiles

Função
Uma função é um bloco modular e reutilizável de código do PowerShell. Ele pode ser escrito
para funcionar como um cmdlet, mas é criado em um script do PowerShell. As funções podem
aceitar parâmetros, interagir com o pipeline e ter aliases. Você provavelmente usará funções
internas do PowerShell sem nem perceber. Eventualmente, você poderá criar suas próprias
funções.

O fato de algo ser uma função e não um cmdlet é realmente irrelevante. Mas se você estiver
curioso sobre quais funções estão atualmente carregadas em sua sessão do PowerShell, execute
este comando:

PS C:\> get-command -CommandType function -ListImported

14
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Há muitas informações sobre funções na ajuda:

PS C:\> ajuda sobre_funções*

Variável
Uma variável é um tipo especial de objeto que é um espaço reservado para outra coisa.
A variável em si realmente não tem significado até que você atribua um valor a ela.

PS C:\> $a = 10

O nome da variável é 'a', mas é prefixado com um símbolo $ quando você deseja acessá-la.

PS C:\> $a * 2

20

As variáveis também podem conter a saída dos comandos do PowerShell.

PS C:\> $services = get-service

Essa variável agora pode ser usada no lugar de Get-Service:

PS C:\> $serviços | where-object {$_.status –eq 'running'}

Mas esteja ciente de que a variável é basicamente um ponto no tempo. Os valores em


$services são aqueles que existiam quando executei o comando. Existem algumas

exceções, especialmente quando a variável contém um único objeto. No entanto, como iniciante
no PowerShell, você deve presumir que as variáveis não são atualizadas. O sistema de ajuda tem
mais detalhes:

PS C:\> ajuda sobre_variáveis

Módulo
Um módulo é um pacote de comandos do PowerShell. Muitos módulos estão vinculados a
produtos ou recursos do Windows. Os módulos podem ser definidos em arquivos binários, mas
geralmente nada mais são do que uma coleção de scripts e funções do PowerShell. Você
eventualmente aprenderá a desenvolver seus próprios módulos. Para ver quais módulos estão
instalados em seu computador, use o cmdlet Get-Module.

PS C:\> get-module

A Figura 10 mostra uma nova sessão do PowerShell sem script de perfil. Este é o único módulo
carregado automaticamente.

15
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Figura 10

Conforme você executa comandos de módulos, o próprio módulo será carregado automaticamente.
Por exemplo, se você tiver o módulo Hyper-V instalado, tudo o que você precisa fazer é executar
um comando do módulo.

PS C:\> get-vm –nome do computador chi-hvr2

Agora o comando Get-Module mostrará o novo módulo (veja a Figura 11).

Figura 11

Para obter uma lista de todos os módulos disponíveis, execute este comando:

PS C:\> get-module -listavailable

Se desejar, você pode importar o módulo sem precisar executar nenhum de seus comandos.

PS C:\> módulo de importação StarWindX

Depois de carregado, você pode usar o cmdlet Get-Command para listar os comandos
disponíveis no módulo (consulte a Figura 12).

PS C:\> get-command –module StarWindX

Você também pode usar um curinga com o nome do módulo se não souber o nome completo ou
não quiser digitá-lo.

16
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Figura 12

Agora posso usar qualquer um desses comandos.

Snapin
Um snapin, geralmente chamado de PSSnapin, é outra maneira de adicionar novos
comandos à sua sessão do PowerShell. Snapins são compilados e devem ser instalados em
um computador antes de serem usados. Nos primeiros anos do PowerShell, essa era a
principal maneira de empacotar comandos, mas agora a maioria das coisas é enviada como
módulos. Ao contrário de um módulo, você deve adicionar o snap-in à sua sessão antes de poder
usar qualquer um dos comandos. O PowerShell carregará automaticamente o snap-in como faz um
módulo (consulte a Figura 13).

PS C:\> get-pssnapin

Figura 13

Get-PSSnapin mostra apenas snapins carregados no momento. Você pode ter outros snapins
registrados e esperando para serem carregados (veja a Figura 14).

PS C:\> Get-PSSnapin –Registrado

17
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Figura 14

Depois de saber o nome do snap-in, você pode adicioná-lo à sua sessão.

PS C:\> add-pssnapin veeamPSSnapin

Agora você pode usar Get-Command para visualizar os comandos snap-in (consulte a Figura 15).

PS C:\> get-command –module Veeam*

Figura 15

Você pode economizar digitação usando curingas. Você notará que usei o parâmetro –Module
mesmo que os comandos da Veeam sejam empacotados como um PSSnapin. Get-Command é
inteligente o suficiente para saber o que você quer dizer. Nessa situação, você pode usar –Module
ou –PSSnapin. Pessoalmente, prefiro aprender e usar uma maneira de realizar algo, então
sempre uso –Module.

Os snap-ins carregados permanecem em sua sessão do PowerShell até você fechá-la. Se


você sempre deseja ter comandos de um determinado snap-in disponíveis, adicione uma linha
como esta ao seu script de perfil do PowerShell:

Add-PSSnapin –nome VeeamPSSnapin

18
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Fornecedor
Talvez um dos termos do PowerShell mais incompreendidos no provedor, que também é
referenciado como psprovider. Um provedor é um software que expõe dados em
armazenamento especializado. O provedor é responsável por traduzir um cmdlet em algo que o
sistema de armazenamento subjacente entenda. Pronto para uso, o PowerShell inclui provedores
para o sistema de arquivos, o registro, o repositório de certificados, variáveis ambientais, bem
como alguns recursos especiais somente do PowerShell.
Você pode usar Get-PSProvider para exibir os provedores disponíveis.

PS C:\> get-psprovider

Nome Capacidades Drives

---- ------------ ------

Alias Deve Processar {Alias}

Ambiente Deve Processar {Env}

Sistema de arquivo Filtro, ShouldProcess, Credenciais {C, D, E, F...}

Função Deve Processar {Função}

Registro DeveProcessar, Transações {HKLM, HKCU}

Variável Deve Processar {Variável}

Certificado Deve Processar {Certificado}

WSMan Credenciais {WSMan}

Os provedores expõem sua tecnologia subjacente por meio de um mapeamento de


unidade especial chamado psdrive. O que isso significa para você é que você pode usar os
mesmos comandos do PowerShell para navegar nesses diferentes sistemas de
armazenamento. O provedor converte o cmdlet, como dir (Get-ChildItem), em algo que o
sistema de armazenamento entende. Alguns PSSnapins e módulos também podem adicionar
provedores e criar PSDrives quando você os carrega em sua sessão do PowerShell.

Muitos desses PSDrives são criados automaticamente quando você inicia o PowerShell.
Você pode exibi-los com o cmdlet Get-PSDrive.

19
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Figura 16

Como você pode ver na Figura 16, você deve obter PSDrives para todas as suas
unidades normais, como C e D, bem como as especializadas, como HKLM. O melhor é
que, na maioria das vezes, você pode usar os mesmos comandos para navegar por todos eles.

Figura 17

Observe que Get-PSDrive mostra os nomes das unidades sem os dois pontos (:), embora
você precise usar os dois pontos ao navegar na unidade como faço na Figura 17. O nome
do PSDrive é HKLM, mas ao usá-lo eu uso HKLM:. Você pode até criar novos mapeamentos
PSDrive e não está limitado a letras únicas (veja a Figura 18).

PS C:\> New-PSDrive –Name Docs –PSProvider FileSystem –Root 'c:\users\


jeff\documents'

20
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Figura 18

Este PSDrive durará enquanto minha sessão do PowerShell estiver em execução. Se eu sempre
quiser esse mapeamento de unidade, colocaria a expressão New-PSDrive no meu script de perfil
do PowerShell.

Você pode saber mais sobre provedores na ajuda do PowerShell:

PS C:\> ajuda sobre_Provedores

O paradigma do PowerShell
Então, o que isso tudo significa? Se você tiver experiência em VBScript ou script em lote,
muitas partes do PowerShell parecerão familiares, embora com termos diferentes. Aqueles
de vocês que vêm do mundo Linux ou Unix também podem se sentir um pouco confortáveis
em um prompt do PowerShell. Mas é fundamental que você entenda o paradigma do
PowerShell. Se você tentar forçar o PowerShell em um molde preconcebido, poderá ficar
frustrado e confuso e, por fim, poderá ignorar o PowerShell – e isso seria uma pena.

Quando executo aulas de treinamento do PowerShell ou falo em conferências, sempre digo


que o PowerShell é sobre objetos no pipeline. Não se trata de análise de texto. O PowerShell é
uma ferramenta de gerenciamento para plataformas Microsoft Windows e, como o Windows é
baseado no conceito de objetos, faz sentido que o PowerShell faça o mesmo. Por outro lado,
sistemas operacionais como o Linux são principalmente baseados em texto, portanto, essas
ferramentas de gerenciamento são excelentes na manipulação de texto. Tentar comparar algo
como o bash com o PowerShell é realmente comparar maçãs e laranjas.

21
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Objetos
No PowerShell, tudo é um objeto. Cmdlets e funções são projetados para trabalhar e emitir
objetos. Claro que você vê o texto na tela, mas não se deixe enganar. Enquanto o comando
do PowerShell está em execução, os objetos estão acontecendo. Um objeto é simplesmente
uma representação de software de algo que você está gerenciando no PowerShell, como
serviço, máquina virtual ou conta de usuário do Active Directory.
O objeto tem propriedades que o descrevem. Por exemplo, um serviço tem propriedades
como Nome, nome de exibição e status. Algumas dessas propriedades podem ser modificadas,
enquanto outras são somente leitura. Os objetos também podem ter métodos, que são ações
que o objeto pode fazer ou que você pode fazer no objeto. Novamente, com serviços, você
pode interromper ou iniciar o serviço. E você pode desligar uma máquina virtual ou desabilitar
uma conta de usuário.

Isso não significa que você precisa ser um desenvolvedor .NET para usar o PowerShell.
O ponto principal dos cmdlets é que eles fazem o trabalho para você. Você não deve se
preocupar com conceitos de desenvolvedor, como instanciar objetos e invocar métodos.
Muitas das principais tarefas de gerenciamento terão cmdlets que fazem tudo isso para você.

Get-Membro

Mas ainda assim, muitas vezes será útil descobrir informações sobre um objeto. Para
fazer isso, use o cmdlet Get-Member. A maneira mais fácil de usar isso é canalizar um
comando para ele.

PS C:\> obter serviço | membro

Figura 19

22
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Na Figura 19 o TypeName é o tipo de objeto. Com base no que você vê, Get Service
usa um objeto com um tipo de System.ServiceProcess.ServiceController.
Você pode ver seus métodos e propriedades. O PowerShell pode adicionar mais métodos
e propriedades, incluindo propriedades de alias, para facilitar o uso do objeto. Se você
quiser descobrir os métodos e propriedades nativos do objeto, pesquise o nome do tipo
que provavelmente o levará a uma página do MSDN.

É importante que você saiba como usar Get-Member, que tem um alias de gm, porque
muitas vezes quando você executa um comando, o PowerShell tem uma configuração
de exibição padrão para qualquer tipo de objeto. Não presuma que o que você vê na
saída são as únicas propriedades, ou mesmo os nomes das propriedades. Use Get
Member para descobrir os nomes reais das propriedades, pois assim que souber o nome
da propriedade, você poderá usá-lo—vou demonstrar isso daqui a pouco.

O pipeline do PowerShell
O conceito de pipeline não é exclusivo do PowerShell. Existe em outras linguagens de
shell. Como outras linguagens, a barra vertical ( | ) é o caractere do pipeline.
No PowerShell, isso significa que você passa a saída de um comando como entrada
para o próximo comando, supondo que o segundo comando saiba o que fazer com os
objetos recebidos. Você pode continuar a passar objetos pelo pipeline, reconhecendo
que os objetos podem até mudar. No final do pipeline, o PowerShell exibirá o que resta.
Você usará frequentemente expressões como esta:

PS C:\> cmdletA –parâmetro Foo | cmdletB | cmdletC -barra de parâmetros

Deixe-me orientá-lo sobre os benefícios do pipeline do PowerShell.

Figura 20

23
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

A Figura 20 descreve um comando típico. Pode levar um pouco de análise inteligente de


texto da saída para obter apenas os serviços em execução em outros shells e idiomas. Mas
Get-Service está usando objetos que refletem os serviços em seu computador, o que significa
que, quando você souber como usar as propriedades do objeto, poderá usar o pipeline para
filtrar (consulte a Figura 21).

Figura 21

Get-Service gravará objetos no pipeline, alguns com uma propriedade de status Running
e outros com status Stopped. Eles são canalizados para o cmdlet Where Object, que
avalia a propriedade de status. Se a propriedade for igual a running, o objeto permanece
no pipeline, caso contrário é descartado.

O resultado final é mostrado na Figura 22.

Figura 22

Por outro lado, um VBScript comparável teria pelo menos 20 linhas de código e não
seria formatado tão bem. Sem mencionar que o script provavelmente pareceria
complexo para alguém não familiarizado com o VBScript. No PowerShell, a expressão
é muito mais clara, mesmo para quem nunca viu o PowerShell antes.

24
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Maior nem sempre é melhor

Dito isso, não pense que tudo o que você faz no PowerShell precisa ser construído como
uma gigantesca expressão em pipeline. Pode ser conveniente digitar algo assim como uma
longa expressão em pipeline:

PS C:\> dir c:\work -Recurse -File | Extensão de propriedade de objeto de grupo |


Select-Object -property Count,Name,@{Name="Size";Expression={ ($_.
grupo | Measure-Object -property length -sum).sum}} | Sort-Object -prop erty Tamanho
-Decrescente | Select-Object -first 5 | Format-Table -AutoSize

Tamanho do nome da contagem

----- ---- ----

28 .xml 80144355

2 .msi 6817280

4 .exe 1603382

17 .ps1 932675

9 .zip 712210

Em poucas palavras, este comando de uma linha é usado para exibir as cinco
principais extensões de arquivo em C:\work, formatadas como uma boa tabela. Mas isso é
muito para digitar e, como iniciante, você provavelmente cometerá um erro. Em vez disso, pode
ser mais fácil quebrar essa gigantesca expressão em pipeline em partes menores usando
variáveis.

Primeiro, obtenha todos os arquivos em C:\work:

PS C:\> $files = dir c:\work -Recurse –File

Agrupe os arquivos pela propriedade de extensão:

PS C:\> $agrupado = $arquivos | extensão do grupo

Selecione as propriedades necessárias dos objetos agrupados, incluindo uma


propriedade calculada que mostra o tamanho total de cada grupo de extensão:

PS C:\> $resultados = $agrupados | selecione Contagem, Nome, @


{Name="Size";Expression={ ($_.group | medir comprimento -sum).sum}}

Por fim, ordene os resultados, selecione os cinco primeiros objetos e formate como uma tabela:

PS C:\> $resultados | classificar tamanho -desc | selecione -primeiro 5 | ft -auto

25
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Você ainda está usando o pipeline em cada etapa. Mas agora você pode verificar se cada
etapa funciona e se basear em cada etapa. Deixe-me também enfatizar que você não está
realmente roteirizando aqui. Você está trabalhando com objetos de arquivo interativamente em
um prompt do PowerShell. E embora você possa não entender completamente cada parte dos
comandos, aposto que você tem uma boa ideia sobre o que estou fazendo em cada etapa,
mesmo que eu esteja aproveitando aliases, parâmetros posicionais e atalhos de parâmetros.

Um exemplo da Veeam

Tudo o que discuti até agora se aplica a tudo no PowerShell, não apenas à experiência pronta
para uso. Os cmdlets que usei no exemplo acima, como Measure-Object e Select-Object, se
comportam da mesma forma se você estiver trabalhando com um objeto de arquivo ou qualquer
outra coisa. Como demonstração, vamos ver o snap-in Veeam PowerShell do Veeam Backup &
Replication™.

Primeiro, os comandos precisam ser carregados no PowerShell. Os cmdlets da Veeam são


empacotados como um snapin.

PS C:\> add-pssnapin VeeamPSSnapin

Anteriormente, mostrei como listar os comandos no snap-in. Neste exemplo, quero usar o
PowerShell para obter algumas informações sobre meus backups. Descubro que há um cmdlet
chamado Get-VBRBackup, então peço ajuda ao PowerShell (consulte a Figura 23).

PS C:\> help get-vbrbackup -showwindow

Estou usando o recurso de ajuda do PowerShell v4 para exibir a ajuda em uma janela pop-up.

Figura 23

26
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Rolando para baixo para exemplos, posso ver como usar este comando. Quero obter
todos os backups e, como quero percorrer o processo, salvarei os resultados do comando
em uma variável:

PS C:\> $vback = Get-VBRBackup

A variável, vback, é um array de algum tipo de objeto e posso dizer que existem 11
objetos.

PS C:\> $vbackup.count

Ou eu poderia usar o comando Measure-Object, que sempre me dará uma contagem:

PS C:\> $vback | medida-objeto

Contagem: 11

Média :

Soma :

Máximo :

Mínimo :

Propriedade :

Como não sei nada sobre esse tipo de objeto, vou canalizar os objetos de backup
para Get-Member e examinar apenas suas propriedades (consulte a Figura 24).

PS C:\> $vback | propriedades get-member – membertype

Figura 24

27
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Para ver o que está na variável, posso simplesmente digitar o nome da variável e o
PowerShell gravará o conteúdo no pipeline (consulte a Figura 25).

PS C:\> $vback

Figura 25

Nessa instância específica, o PowerShell não tem regras para esse tipo de objeto, portanto,
exibe todas as propriedades. Isso é útil porque agora posso usar Select-Object e selecionar
apenas as propriedades nas quais estou interessado (consulte a Figura 26).

PS C:\> $vback | selecione Jobname, CreationTime, JobSourceType, DirPath

Figura 26

Isso é um bom começo. Por enquanto, vou ignorar o fato de que tenho um trabalho de backup
sem tempo de criação. Minha infraestrutura da Veeam foi montada e desmontada várias vezes
no meu laboratório, então provavelmente introduzi um artefato em algum lugar no processo. Deixe-
me executar novamente este comando e salvar os resultados em uma variável.

28
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

PS C:\> $jobs = $vback | selecione Jobname, CreationTime, JobSourceType, DirPath

Agora eu quero ajustar isso. Talvez eu queira ver apenas os trabalhos com mais de 90 dias em
ordem decrescente (consulte a Figura 27).

PS C:\> $jobs | onde {$_.CreationTime –le (Get-Date).AddDays(-90)} | classificar


CreationTime

Figura 27

Talvez meu gerente precise ver isso. Posso facilmente enviar os resultados para um arquivo de texto.

PS C:\> $jobs | onde {$_.CreationTime –le (Get-Date).AddDays(-90)} | classificar


CreationTime | arquivo de saída \\server01\veeam\oldbackups.txt

Como tenho um ambiente misto, pode ser útil agrupar os trabalhos com base em seu
tipo (consulte a Figura 28).

PS C:\> $grouped = $jobs | grupo JobSourceType

Figura 28

Agora tenho um novo tipo de objeto em $grouped. A propriedade Group é a coleção


de cada tipo de trabalho. Como cada objeto tem um caminho, eu poderia usar o comando
DIR e Measure-Object para ver quanto espaço cada backup está consumindo no disco.

29
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

PS C:\> $agrupado | Select Name,Count,@{Name="SizeGB";Expression={ foreach-object


-begin {$total=0} -process { $total+= (dir $_.group.dirpath -file -recurse | medida comprimento
-sum ).sum } -end {$total/1GB}}}

Isso é um pouco complicado, mas estou usando ForEach-Object para obter um tamanho de diretório
para cada objeto de backup no grupo, totalizando os tamanhos e dividindo por 1 GB para obter um
valor em GB (consulte a Figura 29).

Figura 29

Outra opção é criar um relatório melhor formatado, agrupando os resultados por tipo de trabalho
(veja a Figura 30).

PS C:\> $jobs | Classificar JobSourceType, CreationTime | Format-Ta ble


-GroupBy JobSourceType -Property JobName,CreationTime,@
{Name="Age";Expression={(Get-Date) - $_.Creationtime}},@{Name="Siz
eGB";Expression={[math]::Round((dir $_.DirPath | medida-objeto comprimento -sum).sum/
1GB,2) }}

Admito que isso pode parecer um pouco assustador, mas com o tempo e a experiência, isso se
tornará uma segunda natureza.

Figura 30

30
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Um ponto importante sobre o uso dos comandos Format é que eles devem ser a última
etapa em sua expressão do PowerShell. Você não pode fazer nada depois de um comando
de formato além de canalizá-lo, usando Out-File ou Out-Printer. Todos os exemplos que
mostrei a você não são especialmente difíceis por si só. Você deve olhar para a ajuda completa
e exemplos para cada comando que usei.

Próximos passos
Como mencionei no início, é impossível aprender o PowerShell em 30 páginas. A etapa
mais importante é aprender a usar o sistema de ajuda no PowerShell. Depois de saber
disso, você pode aprender sobre todos os cmdlets e conceitos que discuti e, com o tempo,
até o exemplo mais complicado será fácil de entender.

Aprender o PowerShell é como qualquer outro idioma. Ele tem sua própria sintaxe, linguagem,
gramática e convenções. Leva tempo e prática para se tornar fluente. Para isso, você precisa
usar o PowerShell todos os dias, mesmo que simplesmente leia a ajuda de um cmdlet aleatório
e um tópico “sobre”. Quanto mais você usar o PowerShell para resolver suas tarefas diárias de
gerenciamento, mais proficiente você se tornará e seu aprendizado será acelerado. No entanto,
tenha cuidado. Não tente eliminar um script ou uma linha do PowerShell incrivelmente complexo
em seu primeiro dia. Comece simples.
Eu não posso enfatizar isso o suficiente.

Para esse fim, você provavelmente desejará ferramentas e recursos adicionais para
aprender o PowerShell.

Leitura adicional e recursos


Se você pretende aprender o PowerShell desde o início, recomendo o livro que escrevi com o
colega MVP do PowerShell e especialista do setor, Don Jones: Aprenda o Windows PowerShell
em um mês de almoços. Esse título deve ter uma longa vida útil. Mas como tantas outras opções
de treinamento vêm e vão, mantenho uma página no meu blog com uma lista de recursos
essenciais, incluindo livros e vídeos de treinamento. Dê uma olhada em http://jdhitsolutions.com/
blog/essential powershell-resources/.

Por fim, talvez o melhor recurso do PowerShell para você seja o PowerShell.org. Este site é
administrado por uma organização sem fins lucrativos orientada para a comunidade. A
organização administra os Jogos de Script e o PowerShell Summit. Neste site, você também
encontrará um conjunto extremamente ativo de fóruns, eBooks gratuitos e todos os recursos
do PowerShell necessários para ter sucesso. Mas uma vez que você tenha alcançado algum
grau de fluência, acho que você vai se perguntar por que esperou tanto tempo para aprender e
usar o PowerShell.

31
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Sobre o autor
Jeffery Hicks é um MVP da Microsoft no Windows PowerShell,
Microsoft Certified Professional e veterano de TI com

quase 25 anos de experiência, grande parte como consultor de TI


especializado em tecnologias de servidores Microsoft com ênfase em automação
e eficiência. Ele trabalha hoje como autor independente, formador e consultor.
Jeff escreve a popular coluna Prof. PowerShell para MPCMag.com, é um
colaborador regular da Petri IT Knowledgebase, 4SysOps e o blog Altaro Hyper-
V, bem como palestrante frequente em conferências de tecnologia e grupos de
usuários. Se ele não está escrevendo, é provável que Jeff esteja gravando
vídeos de treinamento para empresas como a Pluralsight ou participando dos
fóruns do PowerShell.org.

Os livros mais recentes de Jeff são Aprenda PowerShell 3 em um mês de

Almoços, Aprenda a criação de ferramentas do PowerShell em um mês de


almoços e PowerShell em profundidade: um guia de administradores.

Você pode acompanhar Jeff em seu blog http://jdhitsolutions.


com/blog , no Twitter em twitter.com/jeffhicks e no Google Plus (http://gplus.to/
JeffHicks)

Especialidades: Melhorar a eficiência do gerenciamento para profissionais


de TI usando ferramentas de automação como o WIndows PowerShell. Instrutor
e consultor experiente para a comunidade de profissionais de TI.

32
Machine Translated by Google

POWERSHELL PARA NOVATOS. Introdução ao PowerShell 4.0

Sobre a Veeam Software


A Veeam® habilita o Always-On Business™ fornecendo soluções que fornecem
disponibilidade para o Modern Data Center™, que fornece objetivos de ponto e tempo de
recuperação (RTPO™) de menos de 15 minutos para a maioria dos aplicativos e dados. A
Veeam reconhece os desafios de manter um negócio sempre em funcionamento e os
aborda com soluções que fornecem recuperação em alta velocidade, prevenção de perda
de dados, proteção verificada, mitigação de riscos e visibilidade completa . data center,
incluindo VMware vSphere, Microsoft Hyper-V, armazenamento NetApp e armazenamento
HP 3PAR StoreServ e StoreVirtual, para ajudar as organizações a cumprir RTPOs,
economizar tempo, mitigar riscos e reduzir drasticamente os custos operacionais e de
capital. O Veeam Availability Suite™ oferece todos os benefícios e recursos do Veeam
Backup & Replication juntamente com monitoramento avançado, relatórios e planejamento
de capacidade para a infraestrutura de backup. O Veeam Management Pack™ estende o
monitoramento do Microsoft System Center para ambientes corporativos vSphere e também
oferece monitoramento, relatórios e planejamento de capacidade para a infraestrutura do
Veeam Backup & Replication.
O Veeam Cloud Provider Program (VCP) oferece licenças mensais e perpétuas flexíveis
para atender às necessidades de provedores de hospedagem, serviços gerenciados e
serviços em nuvem. Atualmente, a VCP possui mais de 4.500 parceiros provedores de
serviços em todo o mundo. O aluguel mensal está disponível em mais de 70 países de mais
de 50 agregadores da Veeam.

Fundada em 2006, a Veeam tem atualmente 25.000 ProPartners e mais de 115.000 clientes
em todo o mundo. A sede global da Veeam está localizada em Baar, na Suíça, e a empresa
possui escritórios em todo o mundo.

33
Machine Translated by Google

Você também pode gostar