Partilhar este post:

Um perfil PowerShell é um script que corre quando o PowerShell arranca e tem um nome específico.

PowerShell suporta vários perfis para utilizadores e programas anfitriões. Quando dizemos programas anfitriões pensamos principalmente no Windows PowerShell Console e no Windows PowerShell ISE. No entanto, não cria os perfis para si, por isso continue a ler este artigo e mostrar-lhe-ei como criar e personalizar perfis com exemplos fantásticos.

Podemos criar 3 ficheiros de perfis para cada utilizador no sistema, um para cada host (Windows PowerShell Console e ISE) e um para todos os hosts.

Além disso, é possível criar 3 ficheiros de perfil para todos os utilizadores se quisermos aplicar alguma personalização aplicável a todos os utilizadores.

IMPORTANTE: Se tiver uma instalação separada do PowerShell versão 6 então podemos criar 4 perfis adicionais. Dois ficheiros de perfil por utilizador e dois ficheiros de perfil para todos os utilizadores.

Tabela de Conteúdos

Comandos de Perfil PowerShell, Hosts, Nomes de Perfil, Localizações de Perfil

Aqui está uma tabela que mostra Tipos de Perfil, Comando que pode ser usado para testar se um perfil existe e criá-los se quisermos, A que Host este Perfil se aplica, Nome do ficheiro de Perfil, e Localização do Ficheiro de Perfil.

>

>

>

>

>

>

###1982> Tipo de perfil Comando Anfitrião Nome do ficheiro de perfil Localização do ficheiro de perfil
1* Usuário actual, Current Host $profile Console Microsoft.PowerShell_profile.ps1 $HOME\ Documentos\WindowsPowerShell\
2 Todos os Utilizadores, Alojamento Actual $profile.AllUsersCurrentHost Console Microsoft.PowerShell_profile.ps1 $PSHOME\
3 Usuário actual, Todos os anfitriões $profile.CurrentUserAllHosts Console, ISE Profile.ps1 $HOME\ Documentos\WindowsPowerShell\
4 Todos os Utilizadores, Todos os Hosts $profile.AllUsersAllHosts Console, ISE Profile.ps1 $PSHOME\
5** Usuário atual, Host atual $profile ISE Microsoft.PowerShellISE_profile.ps1 $HOME\ Documentos\WindowsPowerShell\
6****8226> Todos os utilizadores, Anfitrião Actual $profile.AllUsersCurrentHost ISE Microsoft.PowerShellISE_profile.ps1 $PSHOME\

Tabela 1 – Tipos de PowerShell Profile, comandos, hosts, nomes de ficheiros, localizações de ficheiros

* Em vez de $profile podemos usar $profile.CurrentUserCurrentHost comando.

** Execute o comando a partir do console do Windows PowerShell ISE.

Para que possa encontrar os valores correctos para as variáveis $HOME e $PSHOME na sua instalação do PowerShell por favor corra seguindo os comandos:

$HOME

Usualmente, o valor para $HOME é C:\Usuários\nome_do_usuário

$HOME valor
$PSHOME

Usualmente, o valor para $PSHOME é C:\System32\WindowsPowerShell\v1.0

$PSHOME valor

REMEMBER: Se tiver uma instalação separada do PowerShell versão 6 então podemos criar perfis adicionais. Dois por utilizador actual e dois para todos os utilizadores.

>

>

>

>

>

>

###1982> Tipo de perfil Command Anfitrião Nome do ficheiro Perfil Localização do arquivo
1 CurrentUserCurrentHost $profile Console Microsoft.PowerShell_profile.ps1 $HOME\ Documents\PowerShell\
2 CurrentUserAllHosts $profile.CurrentUserAllHosts profile.ps1 $HOME\ Documents\PowerShell\
>3 AllUsersCurrentHost $profile.AllUsersCurrentHost Console Microsoft.PowerShell_profile.ps1 $PSHOME\
4 AllUsersAllHosts $profile.AllUsersAllHosts profile.ps1 $PSHOME\

Tabela 2 – Tipos de perfis PowerShell v6, comandos, hosts, nomes de arquivos, localizações de arquivos

Usualmente, o valor para $HOME é C:\Usuários\ nome_do_usuário

$HOME valor para PowerShell v6

Usualmente, o valor para $PSHOME é C:\Ficheiros de Programas\PowerShell\6

$PSHOME valor para PowerShell v6

OBSERVAÇÃO: A diferença entre os nomes das pastas nos documentos PowerShell v6 é PowerShell e o nome das pastas das versões anteriores PowerShell é WindowsPowerShell.

Como Criar o Perfil PowerShell Passo a Passo

Aqui vou mostrar-lhe exactamente como criar um perfil PowerShell.

Criar um perfil PowerShell para o utilizador actual e o anfitrião actual

Este é o perfil padrão do Windows PowerShell.

Seguir estes passos para criar um perfil PowerShell para o Console como Host e usuário atual:

Passo 1: Abra o Console PowerShell do Windows (Current Host).

Console PowerShell do Windows

Passo 2: Primeiro, testaremos se o Perfil existe ou não em nossa instalação PowerShell. Digite o seguinte comando no Console PowerShell da janela, e pressione ENTER.

Test-Path $PROFILE

REMEMBER: Valor do parâmetro para o CmdLet CmdLet CmdLet obtenha da Tabela 2 – Coluna de Comandos. ($profile, $profile.CurrentUserAllHosts, etc)

Passo 3: Se o resultado do comando anterior for falso, o perfil não existe, então vá para o passo 4. Se o resultado for verdadeiro, o arquivo profile existe então vá para o passo 5

O arquivo profile não existe (false)

Passo 4: Como o Profile não existe vamos criar um com o seguinte comando que você vai digitar e pressionar ENTER.

New-Item -Type File -Force $PROFILE
Profile file has been created
>
Microsoft.PowerShell_profile.ps1 – Profile for the current user and Console as host

Passo 5: O profile foi criado e podemos abrir o arquivo Profile no PowerShell ISE com o seguinte comando, e pressionar ENTER.

ise $PROFILE
Abrir o Windows PowerShell ISE com o ficheiro Profile

Passo 6: O ficheiro Profile vazio foi aberto no Windows PowerShell ISE

Windows PowerShell ISE abriu um ficheiro profile Microsoft vazio.PowerShell_profile.ps1

Passo 7: Continue para o Exemplo 1 para ver como personalizar este perfil.

>

Criar um perfil PowerShell para o utilizador actual e todos os hosts

Seguir estes passos para criar um perfil PowerShell:

Passo 1: Abra o Console PowerShell do Windows (Este é apenas um host de escolha para executar os comandos e podemos fazer estes passos a partir do Windows PowerShell ISE também).

Passo 2: Primeiro, vamos testar se o perfil existe ou não na nossa instalação PowerShell. Digite o seguinte comando no Console do Windows PowerShell, e pressione ENTER.

Test-Path $PROFILE.CurrentUserAllHosts

REMEMBER: Valor do parâmetro para o CmdLet CmdLet obtenha da Tabela 2 – Coluna de Comandos. ($profile, $profile.CurrentUserAllHosts, etc)

Passo 3: Se o resultado do comando anterior for falso, o perfil não existe, então vá para o passo 4. Se o resultado for verdadeiro, o arquivo profile existe então vá para o passo 5

O arquivo profile não existe (false)

Passo 4: Como o Profile não existe vamos criar um com o seguinte comando que você vai digitar e pressionar ENTER.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts
O ficheiro de perfil foi criado
>
Perfil de ficheiro.ps1 – Perfil para o usuário atual e todos os hosts

Passo 5: O perfil foi criado e podemos abrir o arquivo de perfil no PowerShell ISE com o seguinte comando, e pressionar ENTER.

ise $PROFILE.CurrentUserAllHosts

Passo 6: O ficheiro de perfil vazio foi aberto no Windows PowerShell ISE

Windows PowerShell ISE abriu um ficheiro de perfil vazio.ps1

Passo 7: Continue para o Exemplo 2 para ver como personalizar o perfil.

Repetimos o processo para outros tipos de perfil a única coisa é usar o valor correto da variável na coluna Comando da Tabela 1 – Tipos de perfil PowerShell, comandos, hosts, nomes de arquivos, localizações de arquivos.

  • $profile.AllUsersCurrentHost
  • $profile.AllUsersAllHosts

REMEMBER: Quando você quer criar o Profile for Windows PowerShell ISE como um host você precisa abrir o Windows PowerShell ISE e seguir os passos executando os comandos do Windows PowerShell ISE Console (veja a captura de tela abaixo)

Windows PowerShell Console ISE e respectivo arquivo de perfil para o ISE como host

Como editar o perfil do Windows PowerShell com exemplos

Exemplo 1 – Perfil para o Console como Host e Usuário Atual (Current User – Current Host)

Nome do Perfil: Microsoft.PowerShell_profile.ps1
Localização do perfil: $Home\Documents\WindowsPowerShell\
Usado para: Neste exemplo, mudei as cores de fundo da fonte para serem mais legíveis.

Aqui está o código no ficheiro de perfil Microsoft.PowerShell_profile.ps1. Basta copiar o código no ficheiro de perfil e guardar as alterações para ter o mesmo esquema de cores ou personalizá-lo para o seu gosto.

Set-PSReadLineOption -colors @{ Operator = 'Cyan' Parameter = 'Cyan' String = 'White'}
Microsoft.PowerShell_profile.ps1 profile file code

Em alguns sistemas mais antigos a configuração do Set-PSReadLineOption CmdLet era um pouco diferente, como no exemplo abaixo.

Set-PSReadlineOption -TokenKind String -ForegroundColor MagentaSet-PSReadlineOption -TokenKind Operator -ForegroundColor CyanSet-PSReadlineOption -TokenKind Parameter -ForegroundColor Cyan 

Cores da fonte foram alteradas a partir deste…

Cores da fonte PowerShell Console sem personalização de perfil.

… para este.

Cores da fonte PowerShell Console após a personalização do perfil.

Utilizar Get-PSReadLineOption CmdLet para ver os Argumentos de Cor válidos e os valores atuais dos Argumentos (cores).

Get-PSReadLineOption CmdLet e esquema de cores atuais

>

Exemplo 2 – Perfil para ambos Windows PowerShell Console e ISE como Hosts (Current User – All Hosts)

Nome do Perfil: profile.ps1
Localização do Perfil: $Home\Documents\WindowsPowerShell\
Usado para: Quando você quer personalizar tanto o Windows PowerShell Console quanto o ISE simultaneamente ou executar as próprias Funções Avançadas ou CmdLets tanto no PowerShell Console quanto no ISE.

Neste exemplo, carrego meus próprios Módulos PowerShell para algumas CmdLets que escrevi e que fazem parte do Projeto PowerShell Booster de Eficiência. Este projeto é uma biblioteca do meu próprio CmdLets organizada em vários módulos e eu recomendo que você baixe o arquivo zip dos arquivos do projeto e teste em seu próprio ambiente e possa me acompanhar nos artigos deste blog.

Aqui estão os comandos para importar os módulos e o conteúdo do arquivo de perfil.

Import-Module 02utilsImport-Module 03commonImport-Module 04maintenance
Profile.ps1 código do arquivo de perfil

Podemos testar rapidamente se os módulos importados estão realmente carregados quando abrimos o PowerShell Console usando o seguinte comando:

Get-Module -ListAvailable

Os módulos importados no ficheiro Profile são carregados no ambiente da Consola PowerShell

Para compreender melhor os perfis, módulos e CmdLets PowerShell interligados por favor leia o seguinte subtítulo deste post Como Organizar as suas próprias PowerShell CmdLets nos módulos PowerShell e que perfil utilizar para organizar essa estrutura e como ligamos o perfil, módulo e CmdLet PowerShell.

Exemplo 3 – Perfil para ISE como Host (Current User – Current Host)

Profile Name: Microsoft.PowerShellISE_profile.ps1
Localização do perfil: $Home\Documents\WindowsPowerShell\
Usado para: Neste exemplo, eu tenho importado o módulo que contém CmdLets que serão Add-ons para Window PowerShell ISE.

Aqui está o comando que precisa ser copiado no arquivo profile.

Import-Module 09addons
Microsoft.PowerShellISE_profile.ps1 profile file code

Como resultado, teremos dois Add-ons no Windows PowerShell ISE. Por favor leia estes dois artigos para saber mais sobre como codificá-los.

  • Como escrever funções avançadas ou CmdLets com PowerShell (Fast)
  • Como escrever funções PowerShell ou CmdLet’s Help (Fast)

Aplicação do PowerShell ISE no Windows.ons

Podemos testar rapidamente se os módulos importados estão realmente carregados quando abrimos o PowerShell Console usando o seguinte comando:

Get-Module -ListAvailable
Módulo importado em ficheiro de perfil é carregado no ambiente PowerShell ISE

NOTE: Windows PowerShell ISE Importa quatro modelos de dois ficheiros de perfil ( perfil.ps1 e Microsoft.PowerShellISE_profile.ps1 ).

Exemplo 4 – Profile For Both Windows PowerShell Console And ISE As Hosts (All Users – All Hosts)

Profile Name: profile.ps1
Profile Location: $PSHOME\
Used for: Neste exemplo, eu só alterei o título do PowerShell Console e ISE para ambos, Usuário Atual e Administrador.

Aqui está o código no arquivo Profile:

$NTIdentity = ::GetCurrent()$NTPrincipal = new-object Security.Principal.WindowsPrincipal $NTIdentity$IsAdmin = $NTPrincipal.IsInRole(::Administrator)$hostversion="v$($Host.Version.Major).$($Host.Version.Minor)"$hostname = $host.NameIF ($IsAdmin){ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion - Running as ADMINISTRATOR" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion - Running as ADMINISTRATOR" }}Else{ if($hostname -eq "ConsoleHost") { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell $hostversion" } else { $host.ui.RawUI.WindowTitle = "Your Text in Windows PowerShell ISE $hostversion" }}

Você pode ver que ambos os títulos do PowerShell Console e ISE têm um texto personalizado, nome do host e versão do PowerShell no título.

Texto personalizado para Título da Consola
>
Texto personalizado para Título da Consola quando em execução como Administrador
Texto personalizado para Windows PowerShell ISE Title

Comandos PowerShell úteis para saber sobre perfis

Aqui estão alguns comandos PowerShell úteis que o ajudarão a obter informações sobre perfis.

Como resultado da execução de qualquer um dos comandos de perfil, você obterá a localização do arquivo de perfil.

$profile$profile.AllUsersCurrentHost$profile.CurrentUserAllHosts$profile.AllUsersAllHosts
Comandos de perfil

IMPORTANTE: Quando quiser encontrar a localização do ficheiro de perfil para o Windows PowerShell ISE como anfitrião precisa de abrir o Windows PowerShell ISE e executar comandos de perfil a partir do Windows PowerShell ISE Console

Utilizar o CmdLet CmdPath de teste para verificar se o ficheiro de perfil existe ou não no sistema. Se você obter True como resultado, o perfil existe e falso significa que o arquivo de perfil não existe. Use comandos da Tabela 1 – Tipos de perfil PowerShell, comandos, hosts, nomes de arquivos, localizações de arquivos para verificar se existem ou não outros tipos de perfil.

Test-Path $PROFILE

Esta linha de código criará um arquivo de perfil. Use comandos da Tabela 1 – Tipos de perfil PowerShell, comandos, hosts, nomes de arquivos, localizações de arquivos para criar outros tipos de perfil.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts

Se você quiser ler o conteúdo do arquivo de perfil no Bloco de Notas ou no PowerShell ISE da Janela do PowerShell, use esses dois comandos.

ise $PROFILEnotepad $PROFILE

Pessoalmente prefiro o Windows PowerShell ISE uma vez que este é um ambiente mais conveniente para escrever código PowerShell.

Utiliza esta linha de código para obter localizações de perfil para todos os tipos de perfil.

$profile | Get-Member -Type NoteProperty | Select-Object Definition
Localizações de arquivos de perfil

Cheque estas duas variáveis para obter a localização da instalação do PowerShell e do diretório home respectivamente.

$pshome$home 

Como escolher qual arquivo de perfil usar

Se você usa múltiplos aplicativos host como Windows PowerShell Console e ISE, coloque toda a personalização em $PROFILE.CurrentUserAllHosts profile para o usuário conectado no momento. Por exemplo, eu criei minhas próprias CmdLets organizadas em Módulos, então eu coloquei comandos para carregar esses módulos neste perfil já que eu quero que os módulos sejam carregados tanto quando abrirmos o PowerShell Console quanto o ISE. Veja o Exemplo 2 para ilustração.

Se você quiser fazer uma personalização específica para a aplicação host, coloque todo o código de personalização em um perfil específico para essa aplicação host. Por exemplo, eu mudo a cor de fundo das fontes do PowerShell Console para que elas fiquem mais visíveis ou carrego módulos que são Add-ons para o ISE. Eu mostrei que no Exemplo 1 para o PowerShell Console e no Exemplo 3 para PowerShell ISE.

Se você precisa personalizar o PowerShell para muitos usuários e você é um administrador então siga estas dicas:

  • Armazene a personalização mais comum no $PROFILE.Perfil AllUsersAllHosts já que este é o mais amplo escopo
  • Se você quiser customizar o Windows PowerShell para todos os usuários, mas específico para uma aplicação host. Por exemplo, personalização diferente para o Windows PowerShell Console e outra personalização para o Windows PowerShell ISE, então coloque o código em $PROFILE.AllUsersCurrentHost profiles
  • Escreva o código para usuários particulares nos perfis específicos do usuário. Basicamente, isso significa usar ou $PROFILE.CurrentUserAllHosts ou $PROFILE.CurrentUserCurrentHost profile.

Como rodar console ou ISE sem perfis carregados

Abra o diálogo de execução Win + R e abra o PowerShell com a opção -NoProfile.

PowerShell.exe -NoProfile

Aviso: PowerShell Load Time

Com um perfil maior e mais complexo, pode começar a ter um efeito na rapidez com que a PowerShell abre. Para resolver problemas se o seu perfil é ou não responsável por tempos de carga de PowerShell fracos, abra o diálogo de execução Win + R e abra PowerShell com a opção -NoProfile.

PowerShell.exe -NoProfile

Perfis e Sessões Remotas

Perfis PowerShell não são executados automaticamente em sessões remotas, pelo que os comandos que os perfis adicionam não estão presentes na sessão remota. Além disso, a variável automática $PROFILE não é preenchida em sessões remotas.

Para executar um perfil em uma sessão, use o comando Invoke-Command CmdLet.

Por exemplo, o seguinte comando executa o perfil “Current user, Current Host” a partir do computador local na sessão em $s.

Invoke-Command -Session $s -FilePath $PROFILE

Como Organizar as suas próprias PowerShell CmdLets nos Módulos e Perfis PowerShell

Para que possa compreender a ligação entre PowerShell Profile, Module e CmdLet eu criei o Projecto PowerShell Booster PowerShell com muitos dos meus próprios CmdLets organizados num monte de Módulos que são carregados em cada Sessão PowerShell com o perfil PowerShell sempre que abro o Windows PowerShell Console ou ISE.

Por favor sinta-se livre para baixar o arquivo zip que contém o código do projeto para que você possa seguir facilmente. No ficheiro ReadMe.txt está uma explicação dos passos de instalação e personalização, por isso leia as instruções contidas nesse ficheiro. Ainda melhor você pode ler as instruções de instalação e customização lendo o seguinte artigo Como instalar e configurar o PowerShell: CmdLets, Modules, Profiles.

Utilizarei livraria, estantes e livros analógicos para explicar o link entre Powershell Profile, Module, e CmdLet.

Por exemplo, imagine que você quer aprender mais sobre PowerShell Scripting e quer comprar alguns livros sobre o assunto na livraria.

Você entra na livraria e vê muitas prateleiras com etiquetas diferentes para departamentos de livros como Arte, Negócios, Informática, Literatura, Viagens, etc. Claro, você caminha até as prateleiras rotuladas Computadores e lá você encontra o livro que explica o PowerShell Scripting que você quer comprar.

Voltemos agora para o mundo PowerShell e conectemos a história da analogia com PowerShell:

  • A CmdLet que usamos entregue com PowerShell ou algum dos nossos próprios CmdLet escritos é o livro.
  • O código desse CmdLet é o conteúdo do livro.
  • Módulo PowerShell é a prateleira de algumas livrarias, como por exemplo Computers, onde o nosso livro é colocado.
  • Finalmente, PowerShell Profile é a própria livraria.

Então cada vez que abrimos o Windows PowerShell Console ou ISE abrimos nossa sessão e com essa sessão os arquivos de perfil para carregar e personalizar foram feitos para configurar nosso ambiente PowerShell do jeito que queremos ser.

No caso de Módulos e CmdLets. O arquivo profile irá importar módulos e Module irá carregar cada script CmdLet que pertence a esse Module.

Desde que eu gosto de usar meu próprio CmdLets tanto no Windows PowerShell Console quanto em aplicações host ISE, eu prefiro criar um arquivo $.CurrentUserAllHosts tipo de perfil que não é nada mais do que um ficheiro Profile.ps1 criado em:

  • $Home\ Documents\WindowsPowerShell\ folder for PowerShell version 5.1 and older
  • $Home\ Documents\PowerShell\ folder for PowerShell version 6.0.

Como Ligamos o Perfil PowerShell, Módulo, E CmdLet

Aqui está uma breve descrição dessa estrutura feita em PowerShell

  • Criar um perfil PowerShell
  • Criar uma pasta de módulos e estrutura de arquivos
  • Personalizar o perfil para importar os módulos necessários
  • Criar script CmdLet PowerShell
  • Escrever o próprio código da função CmdLet
  • Personalizar ficheiro Module para importar o script CmdLet

I irá ilustrar este processo com exemplos de Profile do Projecto Efficiency Booster PowerShell, Módulos, e CmdLets para que seja mais fácil para qualquer um entender todo o processo. Por isso, novamente encorajo fortemente todos a instalarem o ficheiro zip fornecido.

Seguir estes passos para criar um Perfil PowerShell, Módulo, CmdLet e ligá-los:

Passo 1: Abra o Console do Windows PowerShell

Passo 2: Primeiro, vamos testar se o Perfil existe ou não na nossa instalação PowerShell. Digite o seguinte comando na janela PowerShell, e pressione ENTER

Test-Path $PROFILE.CurrentUserAllHosts

Passo 3: Se o resultado do comando anterior for falso, o perfil não existe, então vá para o passo 4. Se o resultado for verdadeiro, o ficheiro profile existe por isso vá para o passo 5

Passo 4: Como o Profile não existe vamos criar um com o seguinte comando que irá digitar e pressione ENTER.

New-Item -Type File -Force $PROFILE.CurrentUserAllHosts

Passo 5: O profile foi criado e podemos abrir o ficheiro Profile no PowerShell ISE com o seguinte comando, e pressione ENTER.

ise $PROFILE.CurrentUserAllHosts

Passo 6: O ficheiro Profile foi aberto no PowerShell ISE.

Passo 7: Agora precisamos de criar uma estrutura de pastas Module e os ficheiros necessários.

Passo 8: Na pasta onde criámos o nosso ficheiro Profile crie uma pasta Module com o nome exacto Module. Aqui vamos manter a estrutura de pastas de todos os nossos Módulos.

Pasta Módulos

Passo 9: Na pasta Módulos crie as pastas para cada Módulo que você deseja ter. Por exemplo, criei os seguintes módulos no Efficiency Booster PowerShell Project.

Modules of Efficiency Booster PowerShell Project

Passo 10: Em cada pasta Módulo criamos o arquivo com extensão .psm1 e exatamente o mesmo nome que a pasta Módulo. Por exemplo, na pasta 03common.psm1 criamos o ficheiro 03common.psm1

PowerShell module file psm1

Passo 11: Opcionalmente podemos criar um ficheiro manifesto (.psd1) para cada módulo que irá descrever melhor essa pasta.

Passo 12: Na mesma pasta do módulo, criamos o ficheiro com a extensão .ps1 (ficheiro de script PowerShell regular) onde iremos escrever o código para a nossa própria CmdLet. Por exemplo, podemos criar o ficheiro GetCPUInfo.ps1 onde iremos escrever o código para a nossa própria Get-CPUInfo CmdLet.

Get-CPUInfo CmdLet script file

Passo 13: Agora estamos prontos para escrever o nosso próprio código CmdLet e escrevê-lo. Sinta-se livre para olhar o exemplo Get-CPUInfo e outras CmdLets do Projeto PowerShell Booster Efficiency Booster. Em posts futuros, vou escrever mais detalhes sobre cada CmdLet no projeto. Por enquanto, baixe o código fonte do projeto aqui.

Get-CPUInfo CmdLet Source code

Passo 14: Vincule um script CmdLet ao Módulo PowerShell correto. Abra o arquivo .psm1 do Módulo e escreva esta linha de código:
. $psScriptRoot\NameOfCmdLetScriptFile.ps1
Por exemplo, para Get-CPUInfo CmdLet escrevemos esta linha de código em 03common.psm1 file:

. $psScriptRoot\GetCPUInfo.ps1 
A ligação entre o ficheiro de script CmdLet e o módulo

Passo 15: No ficheiro de script Profile, importamos o Módulo que contém o nosso ficheiro de script CmdLet pelo que escrevemos este comando no ficheiro profile.
Import-Module ModuleName
Por exemplo, o nosso CmdLet Get-CPUInfo faz parte do módulo 03common por isso escrevemos este código no profile:

Import-Module 03common
A ligação entre o Profile e o Module

Passo 16: Repetimos os passos 9 -15 para cada Módulo e CmdLet que queremos ter no nosso profile e para ser carregado com cada sessão PowerShell que iniciamos.

Passo 17: Testamos que todos os módulos importados são carregados quando abrimos um determinado host. Podemos listar módulos usando o seguinte comando:

Get-Module -ListAvailable
Módulos carregados em PowerShell Console Environment

Passo 18: Podemos testar que todas as CmdLets dentro de cada módulo são carregadas no ambiente. Aqui está o comando de exemplo útil:

Get-Command -Module 02utils
CmdLets carregadas em ambientes PowerShell Console para o Módulo 02utils

Artigos úteis do Perfil PowerShell

Deixe uma resposta

O seu endereço de email não será publicado.