Manutenção e implantação de vários computadorMulti-machine Deployment and Maintenance

Neste ponto, você já implantou o JEA para sistemas locais várias vezes.At this point, you have deployed JEA to local systems several times. Como seu ambiente de produção provavelmente consiste em mais de um computador, é importante seguir as etapas essenciais no processo de implantação que deve ser repetido em cada computador.Because your production environment probably consists of more than one machine, it's important to walk through the critical steps in the deployment process that must be repeated on each machine.

Etapas de alto nível:High Level Steps:

  1. Copie seus módulos (com Capacidades de Função) para cada nó.Copy your modules (with Role Capabilities) to each node.
  2. Copie os arquivos de configuração de sessão para cada nó.Copy your session configuration files to each node.
  3. Execute Register-PSSessionConfiguration com sua sessão de configuração.Run Register-PSSessionConfiguration with your session configuration.
  4. Mantenha uma cópia da sua configuração de sessão e kits de ferramentas em um local seguro.Keep a copy of your session configuration and toolkits in a secure location. Ao fazer modificações, é recomendável ter uma "única fonte verdadeira".As you make modifications, it's good to have a "single source of truth."

Script de ExemploExample Script

Veja este exemplo de script de implantação.Here's an example script for deployment. Para usá-lo em seu ambiente, você terá que usar os nomes ou caminhos de compartilhamentos de arquivo reais e módulos.To use it in your environment, you'll have to use the names/paths of real file shares and modules.

# First, copy the session configuration and modules (containing role capability files) onto a file share you have access to.
Copy-Item -Path 'C:\Demo\Demo.pssc' -Destination '\\FileShare\JEA\Demo.pssc'
Copy-Item -Path 'C:\Program Files\WindowsPowerShell\Modules\SomeModule\' -Recurse -Destination '\\FileShare\JEA\SomeModule'

# Next, author a setup script (C:\JEA\Deploy.ps1) to run on each individual node
    # Contents of C:\JEA\Deploy.ps1
    New-Item -ItemType Directory -Path C:\JEADeploy
    Copy-Item -Path '\\FileShare\JEA\Demo.pssc' -Destination 'C:\JEADeploy\'
    Copy-Item -Path '\\FileShare\JEA\SomeModule' -Recurse -Destination 'C:\Program Files\WindowsPowerShell\Modules' # Remember, Role Capability Files are found in modules
    if (Get-PSSessionConfiguration -Name JEADemo -ErrorAction SilentlyContinue)
    {
        Unregister-PSSessionConfiguration -Name JEADemo -ErrorAction Stop
    }

    Register-PSSessionConfiguration -Name JEADemo -Path 'C:\JEADeploy\Demo.pssc'
    Remove-Item -Path 'C:\JEADeploy' # Don't forget to clean up!

# Now, invoke the script on all of the target machines.
# Note: this requires PowerShell Remoting be enabled on each machine. Enabling PowerShell remoting is a requirement to use JEA as well.
# You may need to provide the "-Credential" parameter if your current user account does not have admin permissions on these machines.
Invoke-Command –ComputerName 'Node1', 'Node2', 'Node3', 'NodeN' -FilePath 'C:\JEA\Deploy.ps1'

# Finally, delete the session configuration and role capability files from the file share.
Remove-Item -Path '\\FileShare\JEA\Demo.pssc'
Remove-Item -Path '\\FileShare\JEA\SomeModule' -Recurse

Modificar CapacidadesModifying Capabilities

Ao lidar com vários computadores, é importante que as modificações sejam distribuídas de maneira consistente.When dealing with many machines, it's important that modifications are rolled out in a consistent manner. Uma vez que JEA tem um recurso de DSC, isso ajuda a garantir que seu ambiente esteja sincronizado.Once JEA has a DSC Resource, this will help ensure your environment is in sync. Até lá, é altamente recomendável manter uma cópia mestra de suas configurações de sessão e implantar novamente cada vez que fizer uma alteração.Until that time, we highly recommend you keep a master copy of your session configurations and re-deploy each time you make a modification.

Remover CapacidadesRemoving Capabilities

Para remover a configuração de JEA de seus sistemas, use o seguinte comando em cada computador:To remove your JEA configuration from your systems, use the following command on each machine:

Unregister-PSSessionConfiguration -Name JEADemo