Cmdlets do PowerShell. O que é o Windows PowerShell e o que é necessário para o que

5 de novembro de 2014 às 20:07

Jump Start no PowerShell (parte I)

  • Administração do Sistema ,
  • PowerShell.
  • Tutorial

Apenas automação. Apenas PowerShell.

Prefácio

Como passatempo e na presença do tempo, ensino os alunos a Ukit (ex-faculdade do estado de Moscou tecnologias de informação). No este momento Eu tenho pouco tempo para dar um grupo de estudantes, mas é suficiente preparar um post aqui em Habré.

Eu trabalho como administrador do sistema em uma grande empresa não de TI com uma grande string para recursos de TI. Pela natureza da atividade, parece decidir um grande número de Tarefas de serviço do usuário.

Com a linguagem PowerShell, fiquei familiarizado há dois anos, mas levou-o de perto apenas um ano depois, sem perceber as oportunidades iniciais no início. No artigo, em primeiro lugar, vou me concentrar naqueles que querem começar a trabalhar com o PowerShell, mas até que ele confie nele ou não sabe como se aproximar desse milagre.

Atenção: O PowerShell é viciante.

Introdução

Wikipedia nos diz:
Windows PowerShell. - um meio extensível de automação de Microsoft.Consistindo de uma concha com uma interface de linha de comando e scripts relacionados.

PowerShell parece uma linha de comando:


powershell.exe.

Ou na forma de uma aplicação:


powershell_ise.exe.

Powershell_ise.exe. Chamado de ambiente de cenário integrado - Windows PowerShell ISE. Permite que você trabalhe com um idioma em um ambiente realçado de sintaxe conveniente, construtor de comando, comandos autofill pressionando a guia e outros encantos. Ideal para criar e testar scripts.

Para o ambiente de lançamento powershell.exe. ou powershell_ise.exe. É o suficiente para discar um nome semelhante na linha.

O arquivo de script do PowerShell tem uma extensão .PS1..

O script não será capaz de executar o Double LKM. Isso é feito especificamente para não prejudicar o sistema executando aleatoriamente o script.

Para começar, clicando em PCM, selecione "Executar usando PowerShell":

Além do fato de que há um limite no lançamento do scripting do LKM, por padrão, a execução de cenários no sistema é proibida, novamente, de acordo com a razão descrita acima - não prejudique o sistema. Para verificar a política de execução atual, executaremos o comando:

Get-ExecutionPolicy.

Recebemos um dos seguintes valores. Com grande probabilidade se fosse o primeiro lançamento, nós recebemos Restrito.

  • Restrito - Scripts não podem ser lançados;
  • Allsigned. - Somente cenários assinados pelo editor confiável podem ser lançados. Antes de executar o cenário do editor confiável, será solicitado confirmação;
  • Remotesignado. - permitido executar os scripts e cenários baixados assinados pelo editor confiável;
  • Irrestrito - Sem restrições, todos os scripts podem ser lançados.

Para cumprir e testar as políticas para Remotesignado. Ao comandar:

Set-ExecutionPolicy Remotesigned

Indo pro trabalho

Cmll.
  • Os comandos são chamados de comandos do PowerShell, no qual várias funcionalidades são estabelecidas;
  • Copos podem ser o sistema e o costume criado por ninguém;
  • As pratações são referidas à regra Glagol-Noun, que simplifica sua memorização;
  • Resultados de ficlcles resulta na forma de objetos ou suas coleções;
  • Os cmdlets podem receber dados para processamento e transmitir dados no pipeline (sobre os transportadores posteriormente);
  • Copos não são sensíveis ao registro (você pode escrever e obter-processo e processo de obtenção e processo de obtenção);
  • Depois de cmdlets, não é necessário colocar " ; ", exceto quando realizamos vários cmdlets em uma linha (processo de obtenção; obter serviços).

Por exemplo, para obter processos atuais, executaremos o comando:

E obtemos o resultado:

Tente se apresentar:

Obter-serviço # Para obter o status dos serviços em execução em computadores

Get-Conteúdo C: \\ Windows \\ System32 \\ Drivers \\ Etc \\ Hosts # Para obter o conteúdo do arquivo. DENTRO este caso, arquivo de hosts.

Não é necessário conhecer todos os cmdlets. Obter ajuda. Salve a situação.
Informações sobre todos os cmdles disponíveis podem ser obtidas digitando o seguinte comando:

Get-help -category cmdlet

Se usarmos o PowerShell ISE, facilitarmos o processo de desenvolvimento.
Basta digitar um sinal de traço " - "Depois que o Clarket foi introduzido, e nós teremos tudo opções possíveis Parâmetros e seus tipos:

Tente executar:

Obter-serviço -Name p *

Se, no entanto, vamos esquecer quais propriedades existem de um ou outro cm de cm, montamos Obter-membro.:

Get-process | Get-Member # Sign "|" chamado transportador. Sobre ele abaixo.

Não é informação suficiente? Volte para a ajuda com o parâmetro -Exemplos.:

Get-help get-processar -examples

Nós recebemos uma descrição Get-process.Sim, e com exemplos de uso:

  • Clases podem ter nomes abreviados - aliases. Por exemplo, em vez disso Obter ajuda. Você pode usar simples Ajuda.. Para todas as reduções, execute Get-alias..

Tente executar:

Bloco de notas de processo de início

O que é semelhante à gravação:

Inicie o bloco de notas.

E agora pare o processo:

Notepad de nome de parada

Spps -name bloco de notas.

Um pouco mais cedo, dissemos que os clocos são chamados de regra glagol-noun. Esclarecer que o verbo não precisa ser Obter.. Além do que podemos conseguir, podemos perguntar DEFINIR. (Lembre-se, execute-setPolicy), lançamento Começar.parando Pare., resultado Fora.Crio Novo e muitos outros. O nome do cmdlet não se limita a nada e quando vamos criar o nosso próprio com você, podemos chamá-lo como seu coração.

Vamos tentar executar o arquivo:

"Olá, cubo!" | Arquivo de saída C: \\ test.txt & c: \\ test.txt

A propósito, pode ser escrito da mesma maneira que:

"Olá, cubo!" \u003e C: \\ test.txt & c: \\ test.txt

Com letras misteriosas e cursor persistentemente piscando? Esta é uma linha de comando. O utilitário está presente em todos versões do Windows. Com ele, é conveniente gerenciar o sistema, programas de chamada, encontrar arquivos. Mas para o trabalho profissional CMD não é funcional o suficiente. Portanto, a Microsoft decidiu consertar todos os Minuses do console e liberou o produto sob pelo nome do Windows PowerShell. O que é e como usar o desenvolvimento, ler.

O que é o PowerShell do Windows?

O PowerShell é um ambiente de comando orientado a objetos interativos com as funções de linguagem de script. A liberação oficial do PowerShell 1.0 da Microsoft ocorreu em 14 de novembro de 2006. Os desenvolvedores combinaram a interface da linha de comando CLI usual com uma plataforma para gerenciar redes locais e remotos .NET Framework.

Observe que o Windows PowerShell não é um simples shell de operação. A Microsoft conseguiu criar um poderoso, expansível e ao mesmo tempo uma ferramenta de controle flexível, que é capaz de funcionar como uma linguagem de cenário selecionada.

Em 18 de agosto de 2016, a Microsoft anunciou que o Windows PowerShell é agora um produto de código aberto disponível para cada desenvolvedor. Além disso, a empresa adicionou suporte para sistemas operacionais orientados para o Unix, incluindo distribuições Linux e OS X.

Como gerenciar o PowerShell

Os cmdlets são usados \u200b\u200bpara executar tarefas ou cmdlets. Estes são pequenos comandos gravados na forma de arquivos executáveis. Na versão 2.0 PowerShell para o Windows XP e o servidor 2008 R2, os criadores adicionaram módulos que permitem gerenciar grande quantidade Recursos, incluindo Active Directory e Exchange Server.

Agora, na ferramenta PowerShell Automation, mais de 130 módulos e comandos são incorporados. Eles fornecem acesso a arquivos, redes, registro, administração e outros recursos do sistema:

  • definir tempo e datas;
  • trabalhe com pastas e arquivos separados;
  • obter assistência e informações adicionais;
  • armazenamento de importação e dados;
  • métodos para criar scripts;
  • scripts e aplicações individuais;
  • verifique o sistema de segurança e trabalhe com descritores;
  • administração do Sistema;
  • verifique o espaço em disco.

Considerando que o Windows PowerShell é um ambiente expansível, os usuários podem criar suas próprias equipes, escrever módulos "Autor" usando um idioma .NET.

Começando com o PowerShell

Em 2016, a última versão Beta 6.0 PowerShell foi lançada. No Windows 7, 8 e 10, o utilitário é embutido. Se você usar outro sistema operacional, o aplicativo terá que baixar. Para fazer isso, vá para o site oficial da Microfoft.com e na janela de pesquisa, insira a instalação do Windows PowerShell. O sistema será traduzido automaticamente para a página com os lançamentos mais recentes do produto. Selecione seu sistema operacional na lista e clique em Download.

Quando o arquivo é totalmente carregado, abra-o com um clique do mouse duplo. Por padrão, o ambiente será instalado em programas \\ PowerShell \\ e criar um atalho no menu Iniciar. Se você é um usuário feliz do Windows, clique no ícone do sistema no canto inferior esquerdo e insira o PowerShell para "encontrar programas e arquivos". Execute o aplicativo, insira seu primeiro cmdlet e comece a funcionar.

Lista de comandos e instruções necessárias para o PowerShell

O nome de cada cmdlet é representado no formulário "verbo-substantivo" ou "objeto de ação". Oferecemos uma lista dos cmdlets mais importantes PowerShell para o Windows 10 e versões préviascomeçando com o XP. Eles serão úteis até mesmo para usuários novatos que acabaram de aprender como manter documentos de texto.

  1. Obter ajuda. Construído no Celler Core Cage. Projetado para chamar um certificado e fornece informação útil Na sintaxe, programas, sua nomeação, outros celtas. Se no interpretador de comando usual você escreveu ipconfig / ", em seguida, no PowerShell, você precisa discar o Get-Help Get-Process.
  2. Obter conteudo. Simplifica o procedimento para ler arquivos para iniciantes e administradores do sistema. Se anteriormente for necessário abrir a alça e ler todas as linhas do documento, agora apenas dê ao cmdlet de arquivo. Para fazer isso, escreva no C: \\\u003e Get-Conteúdo C: \\ ... \\ "Nome do arquivo" no console. "Extensão".
  3. Get-service. Acesso a informações sobre os serviços instalados no computador.
  4. Obter-membro. Dá informações sobre o objeto de cmdlet retornado, permite que você veja suas propriedades e métodos.
  5. Obter-comando. Pesquisas por cmdlets, retorna todas as informações sobre eles, incluindo dados em funções, scripts, aplicativos e outros elementos. Na versão 5.0 PowerShell para o Windows 10 no comando Get, a coluna de versão foi adicionada e agora os comandantes exibem várias versões do mesmo módulo de uma só vez.
  6. Stop- \\ start-service. Um assistente indispensável para administradores. O cmdlet lança e interrompe os serviços em computadores excluídos e locais.

Símbolos especiais para scripts

Além dos cmdlets, o utilitário PowerShell no Windows 7 e acima inclui caracteres especiais, como $ _ ou (). A maior perplexidade dos ícones causou recém-chegados que não tinham o caso com sistemas ou programação semelhantes a Linux.

  1. Traço vertical "|". Este símbolo é usado para programas com transferência de dados transportador. Ao trabalhar com o console, ele inclui quando eles querem especificar o comando para a direita do recurso vertical para aceitar a saída do comando esquerdo. No PowerShell, a característica vertical é usada quase o mesmo propósito, combinando várias equipes de uma só vez. Por exemplo, crie um novo nome de usuário, adicione-o a um grupo e redefina a senha padrão.
  2. Sinal de função "()". Permite que você monitore efetivamente o processo de execução de cenários. Como em linguagens de programação C-Like, a função PowerShell é formada entrando em vários cmdlets em colchetes encaracolados e está pronto para iniciar o número necessário de vezes.
  3. Símbolo especial $ _. Usado para escrever blocos de script, filtros e expressões processuais. $ _ Tira o valor do objeto atual e o transmite para o seguinte. Usando o cifrão, sem um sublinhado inferior, você pode designar ou inserir uma variável: $ var \u003d "hello".

O que é powershell ise

Incluído com o utilitário PowerShell é um gráfico aplicativo do Windows Powershell ise. Esta é uma concha, ou um ambiente integrado para escrever scripts. O ISE fornece aos desenvolvedores uma enorme gama de possibilidades. Com ele, você pode criar, depurar e editar scripts, abrir arquivos de texto e XML. A realce da cor da sintaxe facilita muito o teste e a busca por erros no código.

O ISE é muito mais conveniente do que o console do PowerShell e pode substituí-lo completamente. Usando o ambiente, você pode copiar e inserir fragmentos de código grandes, iniciar nem todos os script, mas suas partes separadas. Ao contrário do PowerShell, o tamanho da janela no ISE está mudando facilmente o ponteiro do mouse, como ao trabalhar com o programa habitual.

Para tentar o ambiente ISE, insira o PowerShell ISE no menu Iniciar. Se você não estiver usando o Windows, mas outro sistema operacional, baixe e instale uma distribuição do site oficial. Depois de iniciar o aplicativo, uma janela de três partes será aberta. Os principais scripts são escritos na parte inferior - equipes do PowerShell, e no meio há um resultado.

Comece o conhecimento com o ISE e na janela inferior, insira o processo de obtenção. Pressione Tab várias vezes. Ao lado do cmdlet aparecerá seus parâmetros que mudarão após cada tecla. Esta será sua primeira sessão com um ambiente de script da Microsoft.

Igualmente, ele permite que você execute os comandos de linha de comando usual para criar um único ambiente no qual os administradores poderiam executar várias tarefas em sistemas locais e remotos.

Essas tarefas administrativas são geralmente executadas usando cmdlets (no original cmdlets.), que são classes .NET especializadas. O usuário pode combiná-los em scripts (cenários) usando vários projetos, utilitários de linha de comando e referindo-se a classes normais .NET, WMI ou com objetos. Além disso, você pode usar vários data warehouses, como o sistema de arquivos do Windows ou registro, que são fornecidos pelo PowerShell por meio de fornecedores (inglês. provedores de provedores).

O Windows PowerShell também fornece um mecanismo de incorporação, graças aos quais os componentes executáveis \u200b\u200bdo PowerShell podem ser construídos em outros aplicativos. Esses aplicativos podem então usar a funcionalidade PowerShell para implementar várias operações, incluindo interface gráfica. Essa abordagem é aplicada ao Microsoft Exchange Server 2007 para implementar a funcionalidade de controle na forma de cmdles do PowerShell e utilitários de controle gráfico na forma de conchas do PowerShell que causam os cmdlets necessários. Assim, a interface de controle gráfico é sobre a camada intermediária - PowerShell. Outras aplicativos da Microsoft., Incluindo o Microsoft SQL Server 2008, o System Center Operations Manager e o System Center Data Protection Manager também fornecem acesso às suas interfaces de gerenciamento através dos cmdlets do PowerShell. No futuro, todos os aplicativos do Microsoft Server em plataforma do Windows usará o PowerShell de uma forma ou de outra.

O Windows PowerShell inclui sua própria ajuda extensível, disponível (incluindo a partir da linha de comando) através do cmdlet Get-Help.

Pré-história

Clyt.

Cenários

O PowerShell inclui uma linguagem de cenário com tipos dinâmicos, no qual você pode implementar operações complexas usando cmdlets. A linguagem de script suporta variáveis, funções, designs de ramificação (se - então - mais) ciclos (enquanto, para e foreach), processamento de erros estruturados e muitos outros recursos, incluindo a integração do C.NET. Variáveis \u200b\u200bno PowerShell são denotadas por $ prefixo antes do nome; Eles podem ser atribuídos qualquer significado, incluindo a retirada de cmdlets. Embora a própria linguagem não seja estritamente digitada, dentro das variáveis \u200b\u200bsão salvas com seus tipos que podem ser tipos básicos (Eng. tipos primitivos.) ou objetos. Linhas podem ser incluídas em citações simples ou cotações duplas: Ao usar aspas duplas, as variáveis \u200b\u200bcontidas na string serão substituídas por seus valores. De acordo com a sintaxe das variáveis, se o caminho para o arquivo for colocado em suportes encaracolados com um sinal de dólar anterior (isto é, $ (c: \\ foo.txt)), então este será um link para o conteúdo de o arquivo. Tudo o que será atribuído a tal variável será registrado no arquivo e, pelo contrário, o conteúdo do arquivo será emitido ao acessar seu conteúdo.

Você pode lidar com as propriedades e métodos do objeto usando o ponto (.), Como na sintaxe. O PowerShell fornece variáveis \u200b\u200bespeciais, como $ ARGS, contendo uma matriz de todos os argumentos de linha de comando sem nome, funções transmitidas ou $ _, referindo-se ao objeto atual no transportador e outras estruturas. O PowerShell também contém matrizes e matrizes associativas. Além disso, o PowerShell calcula automaticamente as expressões aritméticas inseridas na linha de comando e entende o abrigamento popular, como o GB (GB), MB (MB) e KB (CB).

No PowerShell, você pode criar suas próprias funções que aceitam os parâmetros usando a função da função. O problema popular para muitos iniciantes é que as funções aceitam argumentos separados por não vírgulas, mas espaços (como utilitários de linha de comando ou cmdlets):

  1. : Causa uma função com dois argumentos.

Esses argumentos podem ser vinculados aos parâmetros especificados na declaração da função. Além disso, eles também podem contatá-los através de uma matriz de $ args.

  1. (, ): Causa uma função com um argumento, que é uma matriz de dois elementos.

O PowerShell permite chamar métodos .NET concluindo seus nomes de espaço em colchetes () e, em seguida, usando algumas cores (: :) para indicar o método estático. Por exemplo :: WriteLine ("PowerShell"). Objetos são criados usando o cmdlet New-Object, adicionar novas propriedades a eles usando o cmdlet Member-Member.

Para o manuseio de erros do PowerShell, fornece um mecanismo baseado em on-line. Em caso de erro, os objetos são emitidos contendo informações de erro (objeto de exceção) que são interceptados palavra-chave Armadilha. No entanto, comportamento quando os erros ocorrem configurados. Portanto, você pode configurar o PowerShell para que, em caso de um erro, continuasse silenciosamente a executar sem interceptar o erro. A segunda versão do PowerShell também adicionou a tentativa de captura finalmente design.

Cenários escritos no PowerShell podem ser salvos entre sessões em arquivos.ps1. Em seguida, você pode usar todo o script ou funções individuais a partir dele. Scripts e funções são usados \u200b\u200bcomo cmdtam, ou seja, eles podem ser comandos no transportador, eles podem transmitir parâmetros. Objetos podem ser transmitidos entre cenários, funções e cmdlets no transportador. No entanto, a execução dos scripts do PowerShell é proibida por padrão, e deve ser ativada usando o cmdlet Set-ExecutionPolicy. Os scripts do PowerShell podem ser assinados por uma assinatura digital para verificar sua integridade.

PowerShell 2.0.

A Microsoft lançou o PowerShell 2.0 como parte do Windows 7 e Windows Server. 2008 R2. O Windows PowerShell 2.0 é predefinido nesses sistemas. Exceção é o modo instalações do Windows. Server 2008 R2 no modo principal, onde o PowerShell 2.0 pode ser configurado manualmente. Para plataformas mais antigas, está disponível como parte da estrutura de gerenciamento do Windows. O PowerShell 2.0 faz algumas alterações na linguagem de script e pela API para incorporar, além do novo 240 cmdth.

Lista incompleta de novos recursos incluídos no PowerShell 2.0:

  • PowerShell remoting. Usando o WS-Management, o PowerShell 2.0 permite chamar scripts e cmdlets em máquinas remotas (incluindo vários simultaneamente), monitorar o status de sua execução e obter resultados na forma de objetos (por meio da serialização). Também é possível estabelecer sessões e sessões interativas com funcionalidade limitada.
  • Trabalho de fundo. Capacidade de chamar a sequência de comandos de forma assíncrona. Obras podem ser executadas em uma máquina local ou várias máquinas remotas. Obras não podem usar cmdlets interativos.
  • Transações. Permita que os desenvolvedores de cmdlets e fornecedores implementem operações transacionais. O PowerShell 2.0 inclui cmdlets para inicialização, confirmação e reversão de transações e capacidade de gerenciar transações e usá-las em cmdt e fornecedores.
  • Funções avançadas. A capacidade de desenvolver cmdlets com pleno direito usando apenas o próprio PowerShell.
  • Steppablepelines. Permite que o usuário monitore as funções iniciais (), processeCord () e endprocessing () ao chamar um cmdlet.
  • Módulos. Permita que os autores de cenários e administradores organizem scripts do PowerShell e coloque-os em módulos auto-suficientes. O código do módulo é realizado por si só, contexto independente e não afeta o ambiente fora do módulo. Usando o script, os módulos podem declarar um ambiente limitado. Os módulos podem conter funções e variáveis \u200b\u200bpúblicas e privadas.
  • Linguagem de dados. Um subconjunto da linguagem PowerShell que permite separar as definições de dados do código de cenários executáveis \u200b\u200be possibilita importar as cadeias localizadas para o script durante a execução.
  • Scripts de depuração. Capacidade de instalar pontos de interrupção (ENG. breakpoints.) Em scripts ou funções do PowerShell. Pontos de interrupção podem ser instalados em strings, colunas, comandos ou operações de leitura e / ou variáveis \u200b\u200bde gravação. Há cmdlets para instalação e controle de pontos de interrupção em cenários.
  • Eventindo. Esse recurso permite que você ouça, redirecione e execute ações quando ocorrerem ações de gerenciamento ou sistema. Graças ao evento, o Host PowerShell pode ser notificado de mudanças no status dos objetos gerenciados. Além disso, permite que os cenários se inscrevam em objetos, PSEVENTES e WMEVENTES e processá-los de forma síncrona e assíncrona.
  • Ambiente de script integrado do Windows PowerShell (ISE). O PowerShell 2.0 inclui uma concha gráfica para um idioma no qual o depurador integrado é incluído, a luz de fundo da sintaxe, a automatização dos comandos. O shell permite que você execute vários consoles do PowerShell independente com suporte total do Unicode na interface com marcadores. Graças ao apoio da execução remota, alguns consoles podem ser realizados em outros computadores. Além disso, o ISE permite que você execute parte alocada dos cenários, contenha um editor integrado e permite expandir e complementar sua interface usando o PowerShell.
  • Transferência de bits - Suporte integrado para a transferência de arquivos em uma rede com priorização, multithreading, retomada e trabalho assíncrono com base na tecnologia de serviço de transferência inteligente de fundo.
  • Muitos novos cmdlets, incluindo, por exemplo, o Out-GridView, o que permite exibir os resultados do transportador em uma tabela gráfica (com base no WPF), com capacidade de classificação e pesquisa instantânea.
  • Novos operadores -split, -Join e operador de substituição (@).
  • Erros de processamento com try-catch - finalmente. Ao contrário de outros idiomas .NET, no PowerShell, você pode especificar vários tipos de exceções para um bloco de captura.
  • Bloquear comentários. O PowerShell 2.0 suporta comentários de blocos (além da linha já existente #) usando<# и #> como limitadores.
  • As novas APIs adicionaram diferentes capacidades, de maior controle sobre o analisador PowerShell à capacidade de criar sessões limitadas (inglês. runspace restrito.) Em que você pode executar apenas um conjunto limitado de instruções e comandos do PowerShell.

Comparação de cmdlets com equipes semelhantes

A tabela a seguir contém uma amostra de cmdlets fornecidas com o PowerShell, com os comandos máximos semelhantes de outros shell de linha de comando amplamente conhecido.

Deve-se notar que essa mesa É fornecido para familiarização superficial, não cobre todas as características das conchas representadas.

Windows PowerShell.
(Cmdlet)
Windows PowerShell.
(Alias)
cmd.exe / command.com.
(MS-DOS, Windows, OS / 2, etc.)
Bash.
(UNIX, BSD, Linux, Mac OS X, etc.)
Descrição
Get-location. gl, pwd. pwd. Exibe o diretório de trabalho atual
Defina localização sL, CD, Chdir Chdir. Altera o catálogo atual
Clear-host. cLS, claro cLS. claro Limpa a tela
Cópia-item. cPI, CÓPIA, CP cópia de Copia um ou mais arquivos ou diretórios (no PowerShell, você também pode copiar objetos de outros provedores de dados)
Obter ajuda. ajuda, cara. ajuda. homem. Ajuda por equipes
Remover item. ri, del, apagar, rmdir, rd, rm del, apagar, rmdir, , rmdir. Exclui o arquivo / diretório (ou outro item nos provedores de dados do PowerShell).
Renomear-item. rni, ren. ren, renomear. Renomear arquivo / diretório
Item de movimento. mi, mover, mv mover. Move o arquivo / diretório para um novo local
Get-killem. gci, dir, ls dir. Exibe todos os arquivos / diretórios no diretório atual
Saída de gravação. eco, escreva. eco. eco. Exibe strings, variáveis \u200b\u200bpara saída padrão
Pop-location. popd. popd. popd. Altera o diretório atual para o que foi colocado pela última vez na pilha
Push-location. pushd. pushd. pushd. Coloca o diretório atual na pilha
Variável definida. sV, conjunto. dEFINIR. dEFINIR. Definindo o valor da variável / criação da variável
Obter conteudo gC, tipo, gato modelo gato. Obtém o conteúdo do arquivo
Select-string encontre, findstr. grep. Exibe strings adequadas sob a condição
Get-process. gPS, PS tLIST, lista de tarefas. Exibe todos os processos em execução
Processo de parada. spps, matar matar, taskkill. mate Pára um processo de execução
Tee-objeto. tee. n / D. tee. Envia dados de entrada para um arquivo ou variável, então os transmitem ainda mais pelo transportador

Veja também

  • PowerShell ISE.

Notas

Literatura

  • Popov a.v. Introdução ao Windows PowerShell. - São Petersburgo. : Bhv-Petersburg, 2009. - P. 464. - ISBN 978-5-9775-0283-2

Links.

  • Pacote de Instalação do Windows PowerShell 1.0 Download Center for Windows Vista
  • Relatório sobre oportunidades do PowerShell e escrita de script Fundamentos
  • Framework de gerenciamento do Windows (incluindo PowerShell 2.0, WinRM 2.0 e Bits 4.0) para Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008
  • Blog "PowerShell e outros scripts" (Rus)
  • (rus)
  • "PowerShell blog e não apenas" (Rus)
  • Livro russo livre O PowerShell (Rus)
  • Segundo livro inglês gratuito sobre PowerShell (Inglês)
  • Nó Web do Windows PowerShell (inglês)
  • Capitão e administração do PowerShell do futuro (RUS)

O Windows PowerShell é uma das ferramentas importantes no sistema de sistema administrador do Windows.. O PowerShell é uma ferramenta poderosa que não deve ser negligenciada. Este artigo tem como objetivo fornecer habilidades básicas de trabalho com o Windows PowerShell.

O PowerShell é algo mais do que apenas uma concha de linha de comando. A primeira versão do PowerShell apareceu em 2006, a razão para seu desenvolvimento foi a primitividade da equipe clássica strings do Windows.não é permitido realizar algoritmos complexos.

O Windows PowerShell é predefinido nos sistemas Windows 7, 8, 8.1 e Windows Server 2008 R2, 2012 R2 e também pode ser adicionado ao Windows XP SP3, Vista e Windows Server 2003 SP2. A interface PowerShell se assemelha a uma interface de linha de comando bem conhecida.


Interface do Windows PowerShell.

Como mencionado acima, a interface de linha de comando não é limitada. O PowerShell fornece a própria linguagem de cenário do administrador do sistema, que permite automatizar ações complexas.

Os comandos que funcionam no PowerShell podem ser na forma de cmdlets, funções, scripts e arquivos executáveis \u200b\u200bexternos.

Clyt. - Este é um novo tipo de comandos embutidos em PowerShell. Os comandos desse tipo são compilados nas bibliotecas DLL e são carregados no processo PowerShell durante o lançamento. Para si cmdlets como aplicativos não iniciam.

Os nomes dos cmdlets combinam o modelo "Verbo substantivo". O verbo descreve a ação que queremos fazer e o substantivo - o objeto que a ação será realizada. Por exemplo, para limpar a tela do console, você deve inserir o comando Clear-host. Você pode visualizar os comandos disponíveis digitando o console de comando Get.

Copos podem ter parâmetros. Em geral, parece que isso:

comandline Nome -Parameter1 -Parameter2 Argument1 Argument2

Argumentos não são parâmetros de nome.

Como funciona? Por exemplo, temos um comando dir que exibe o conteúdo do diretório.

Exemplo de trabalho da equipe de Dir

Suponha que eu perdi um arquivo específico. Deixe ser um arquivo de certificado por Photoshop. Lembro-me exatamente que o nome do arquivo contém "Photoshop" e que este é um arquivo PDF. Como me lembro, o arquivo está neste diretório. Eu posso exibir uma lista de todos os arquivos de diretório como no exemplo acima e pesquisar o arquivo manualmente. E eu posso aplicar o parâmetro -filter, que exibirá apenas os arquivos que correspondem a um argumento específico. Como argumento, haverá * Photoshop * .pdf. Asteriscos em torno da palavra "Photoshop" Stand porque não me lembro do nome do arquivo exato e apontando o PowerShell para o fato de que antes e depois do "Photoshop" pode suportar quaisquer personagens. Eu também aponto para procurar o arquivo PDF.

Então, o arquivo de pesquisa foi encontrado. Na forma geral de cmdlets, foi designado que um cmdlet pode ter vários parâmetros. Por sua vez, os parâmetros nem sempre têm argumentos.

Um pouco complicou nosso exemplo. Digamos agora que preciso encontrar o livro de Christopher Dugurtesty. Equipe dir -filter * dougherty * .pdf Eu não fiz nada. Isso significa que não há livros neste catálogo, mas lembro exatamente que está em algum lugar aqui, obviamente, em subdiretórios. Para pesquisar e nos subdiretórios, adicione o parâmetro -recurse.

A pesquisa vai demorar um pouco mais, mas o livro desejado será encontrado.

Como você pode ver, o parâmetro -recurse não contém um argumento. Por si só, os parâmetros podem ficar em qualquer ordem, o principal é observar totalmente a lógica quando o argumento exigido segue o parâmetro para o qual se destina. Então a equipe dir -filter * dougherty * .pdf -recurse vai funcionar da mesma maneira que dir -recurse -filter * dougherty * .pdf.

Os nomes dos parâmetros podem ser escritos na forma abreviada, que é bastante conveniente para o trabalho diário com a linha de comando. A redução deve ser clara para o interpitador, ou seja, Não permita que as interpretações duplas. Por exemplo, o parâmetro -Recurse pode ser reduzido para simples -r e redução -filter para -f causará um erro, porque Ainda há um parâmetro -force. Neste caso, você pode cortar -filtro para -fi.

Então, nós temos uma ideia de celtas. Próximo .

Depois de passar para o sistema operacional Windows 10, muitos usuários notaram o botão "Executar PowerShell" na interface do condutor. A este respeito, muitas perguntas apareceram na rede, usuários interessados \u200b\u200bno programa Windows PowerShell e o que é necessário. Se você também está interessado nesta pergunta, este material deve ajudá-lo.

O Windows PowerShell é uma linguagem de script e um programa com uma interface de linha de comando para executar esses scripts. Esta linguagem foi lançada em 2006 como parte do segundo Service Pack para Windows XP e, desde então, o PowerShell faz parte de todos os sistemas operacionais da Microsoft. Em 2008, a segunda versão apareceu dessa linguagemE começando com o Windows 7 é isso. Os scripts do Windows PowerShell têm a extensão PS1 e podem ser lançados como arquivos de morcegos e cmd familiares.

O Windows PowerShell é um idioma de script que foi desenvolvido principalmente para clientes de negócios da Microsoft que precisam de ferramentas poderosas para automatizar tarefas de gerenciamento de servidores e computadores em banco de dados do Windows.. A base para esta linguagem foi usada pela Platform.net, desenvolvida pela Microsoft desde 2002.

O Windows PowerShell permite que você automatize muita variedade de tarefas. Com ele, você pode gerenciar arquivos, serviços, processos, contas e configurações. A linguagem PowerShell entende muitas equipes de comum Linha de comando Windows (CMD), mas também tem sua própria linguagem que consiste em seus próprios comandos, que são chamados de Celts aqui.

Copos (em cmdlets ingleses) são formados pela regra Glagol-Noun, por exemplo, obter-ajuda. Você pode se familiarizar com o básico do Windows PowerShell usando a ajuda (get-help cmdlet). Para obter informações gerais, basta digitar o comando "Get-Help", insira "Get-help-Name-cmdlet" para receber um cmdlet específico. Por exemplo, se você inserir o comando "Get-help get-process", receberemos uma ajuda CMOT Get-Process.

Como executar um programa do Windows PowerShell

O programa Windows PowerShell pode ser lançado jeitos diferentes. A opção mais fácil é simplesmente usar a pesquisa no menu Iniciar. Para fazer isso, abra o menu Iniciar, insira consulta de pesquisa "Windows PowerShell", após o qual você abre o programa encontrado.

Você também pode usar uma combinação chaves Windows-R E digite o comando "PowerShell".

No Windows 10, o programa PowerShell pode ser executado a partir de qualquer pasta. Para fazer isso, clique no botão "Arquivo" no canto superior esquerdo do condutor e selecione "Executar o Windows PowerShell".

Como usar o Windows PowerShell

Como dissemos, com a ajuda do programa PowerShell, muitas tarefas de rotina podem automatizar sistema operacional Janelas. Por exemplo, demonstraremos alguns dos recursos que esta ferramenta possui, para ficar claro como usá-lo.

Cesta de limpeza. Há um cmdlet especial para limpar a cesta, que é chamada de "reciclagem clara". Este cmdlet é útil ao escrever scripts para manter os computadores. Ao executar um cmdlet, você precisa especificar o disco no qual você deseja limpar a cesta. Exemplo:

Clear-Recyclebin C:

Na imagem abaixo, pode ser visto como esta cmdlet é realizada. Depois de inserir o comando "Clear-Recyclebin C:", aparece uma solicitação de confirmação. Para continuar a execução do cmdlet, você precisa inserir a letra "y" e pressione ENTER.

Se você adicionar "-force" ao cmdlet "Clear-Recyclebin C:", então limpar a cesta é executada sem uma solicitação de confirmação. Captura de tela na parte inferior.

Arquivamento de arquivos. Para arquivar e desembalar os arquivos, os cmdlets de compressa-arquivamento e archive são fornecidos. Por exemplo, para arquivar a pasta "C: \\ test \\" para o arquivo "C: \\ archive \\ test2.zip" você precisa executar o seguinte cmdlet:

Compress-Arquivo -LiteralPath C: \\ Test \\ -DestinationPath C: \\ Archive \\ Test2.Zip

Como resultado da execução do comando mostrada acima, o arquivo "test2.zip" aparece na pasta "C: \\ Archive \\" na qual o conteúdo da pasta C: \\ Test \\ aparecerá.

Lista de cmdlets para Windows PowerShell

Para o Windows PowerShell, há um grande número de cmdlets diferentes e descrevê-los todos em um artigo não funcionará. Portanto, sugerimos se familiarizar com os mais procurados:

  • Obter ajuda - recebendo referências;
  • Ajuda de atualização - referência de atualização;
  • Get-Command - Pesquisar por cmdlets;
  • Get-alias - Procure pseudônimos para cmdlets;
  • Get-Psdrive - Ver discos conectados;
  • Get-Member - Visualizando propriedades e métodos que possuem um objeto;
  • Get-WindowsFeature - Ver informações sobre papéis disponíveis e componentes do servidor;
  • Install-WindowsFeature (Analog Add-WindowsFeature) - Define as funções ou componentes para o servidor desejado;
  • Desinstalar-WindowsFeature (analógico de Remove-WindowsFeature) - Remove a função ou o componente do servidor;
  • Get-History - Ver o histórico das equipes que foram introduzidas nesta sessão;
  • Get-Variável - Veja a lista de variáveis \u200b\u200be seus valores;
  • Nova variável - criando uma nova variável;
  • Definir variável - definindo o valor da variável;
  • Variável clara - remoção de valor variável;
  • Remover variável - removendo a variável e seus valores;
  • Format-List - Visualize o resultado do comando como uma lista de propriedades, onde em cada linha uma propriedade separada;
  • Format-table - Visualize o resultado do comando no formato da tabela;
  • Format - Wide - Visualize o resultado do comando na forma de uma tabela ampla, na qual apenas uma propriedade é mostrada para cada objeto;
  • Format-Custom - Visualize o resultado do comando usando a visualização do usuário;
  • Export-CSV - exportação de dados para o formato CSV;
  • Import-CSV - Importar dados de um arquivo CSV;
  • Export-ClixML - Exportar dados para o formato XML;

Você pode obter uma lista completa de cmdlets para o Windows PowerShell executando o cmdlet Get-Command -CommandType CMDLET.