Maken en te verbinden met een eindpunt JEACreating and Connecting to a JEA Endpoint

Een JEA om eindpunt te maken, moet u maken en registreren van een speciaal geconfigureerde configuratie van de PowerShell-sessie-bestand dat kan worden gegenereerd met de nieuw PSSessionConfigurationFile cmdlet.To create a JEA endpoint, you need to create and register a specially-configured PowerShell Session Configuration file, which can be generated with the New-PSSessionConfigurationFile cmdlet.

New-PSSessionConfigurationFile -SessionType RestrictedRemoteServer -TranscriptDirectory "C:\ProgramData\JEATranscripts" -RunAsVirtualAccount -RoleDefinitions @{ 'CONTOSO\NonAdmin_Operators' = @{ RoleCapabilities = 'Maintenance' }} -Path "$env:ProgramData\JEAConfiguration\Demo.pssc" 

Hiermee maakt u een sessie-configuratiebestand dat uitziet:This will create a session configuration file that looks like this:

@{

# Version number of the schema used for this document
SchemaVersion = '2.0.0.0'

# ID used to uniquely identify this document
GUID = 'a384fdd3-5830-4a2c-ac86-cdd1822c3afd'

# Author of this document
Author = 'Administrator'

# Description of the functionality provided by these settings
# Description = ''

# Session type defaults to apply for this session configuration. Can be 'RestrictedRemoteServer' (recommended), 'Empty', or 'Default'
SessionType = 'RestrictedRemoteServer'

# Directory to place session transcripts for this session configuration
TranscriptDirectory = 'C:\ProgramData\JEATranscripts'

# Whether to run this session configuration as the machine's (virtual) administrator account
RunAsVirtualAccount = $true

# Groups associated with machine's (virtual) administrator account
# RunAsVirtualAccountGroups = 'Remote Desktop Users', 'Remote Management Users'

# Scripts to run when applied to a session
# ScriptsToProcess = 'C:\ConfigData\InitScript1.ps1', 'C:\ConfigData\InitScript2.ps1'

# User roles (security groups), and the Role Capabilities that should be applied to them when applied to a session
RoleDefinitions = @{
    'CONTOSO\NonAdmin_Operators' = @{
        'RoleCapabilities' = 'Maintenance' } }

} 

Wanneer u een eindpunt JEA maakt, moeten de volgende parameters van de opdracht (en de bijbehorende sleutels in het bestand) worden ingesteld:When creating a JEA endpoint, the following parameters of the command (and corresponding keys in the file) must be set:

  1. SessionType naar RestrictedRemoteServerSessionType to RestrictedRemoteServer
  2. RunAsVirtualAccount naar $trueRunAsVirtualAccount to $true
  3. TranscriptPath naar de map waarin 'over de schouder' transcripties moeten worden opgeslagen na elke sessieTranscriptPath to the directory where “over the shoulder” transcripts will be saved after each session
  4. RoleDefinitions naar een hashtabel die definieert welke groepen hebben toegang tot welke 'rol mogelijkheden'.RoleDefinitions to a hashtable that defines which groups have access to which “Role Capabilities.” Dit veld wordt gedefinieerd die kunt doen wat op dit eindpunt.This field defines who can do what on this endpoint. Rol mogelijkheden zijn speciale bestanden die worden kort beschreven.Role Capabilities are special files that will be explained shortly.

Het veld RoleDefinitions definieert welke groepen toegang had tot welke mogelijkheden rol.The RoleDefinitions field defines which groups had access to which Role Capabilities. De mogelijkheid van een rol is een bestand dat u een reeks mogelijkheden die zullen worden blootgesteld definieert voor het koppelen van gebruikers.A Role Capability is a file that defines a set of capabilities that will be exposed to connecting users. Kunt u mogelijkheden van rol met de nieuw PSRoleCapabilityFile opdracht.You can create Role Capabilities with the New-PSRoleCapabilityFile command.

New-PSRoleCapabilityFile -Path "$env:ProgramFiles\WindowsPowerShell\Modules\DemoModule\RoleCapabilities\Maintenance.psrc" 

Hierdoor wordt een sjabloon rol mogelijkheid ziet gegenereerd:This will generate a template role capability that looks like this:

@{

# ID used to uniquely identify this document
GUID = '9287a34f-3f0e-4fbe-9dd7-f1361ba9fd65'

# Author of this document
Author = 'Administrator'

# Description of the functionality provided by these settings
# Description = ''

# Company associated with this document
CompanyName = 'Unknown'

# Copyright statement for this document
Copyright = '(c) 2015 Administrator. All rights reserved.'

# Modules to import when applied to a session
# ModulesToImport = 'MyCustomModule', @{ ModuleName = 'MyCustomModule'; ModuleVersion = '1.0.0.0'; GUID = '4d30d5f0-cb16-4898-812d-f20a6c596bdf' }

# Aliases to make visible when applied to a session
# VisibleAliases = 'Item1', 'Item2'

# Cmdlets to make visible when applied to a session
# VisibleCmdlets = 'Invoke-Cmdlet1', @{ Name = 'Invoke-Cmdlet2'; Parameters = @{ Name = 'Parameter1'; ValidateSet = 'Item1', 'Item2' }, @{ Name = 'Parameter2'; ValidatePattern = 'L*' } }

# Functions to make visible when applied to a session
# VisibleFunctions = 'Invoke-Function1', @{ Name = 'Invoke-Function2'; Parameters = @{ Name = 'Parameter1'; ValidateSet = 'Item1', 'Item2' }, @{ Name = 'Parameter2'; ValidatePattern = 'L*' } }

# External commands (scripts and applications) to make visible when applied to a session
# VisibleExternalCommands = 'Item1', 'Item2'

# Providers to make visible when applied to a session
# VisibleProviders = 'Item1', 'Item2'

# Scripts to run when applied to a session
# ScriptsToProcess = 'C:\ConfigData\InitScript1.ps1', 'C:\ConfigData\InitScript2.ps1'

# Aliases to be defined when applied to a session
# AliasDefinitions = @{ Name = 'Alias1'; Value = 'Invoke-Alias1'}, @{ Name = 'Alias2'; Value = 'Invoke-Alias2'}

# Functions to define when applied to a session
# FunctionDefinitions = @{ Name = 'MyFunction'; ScriptBlock = { param($MyInput) $MyInput } }

# Variables to define when applied to a session
# VariableDefinitions = @{ Name = 'Variable1'; Value = { 'Dynamic' + 'InitialValue' } }, @{ Name = 'Variable2'; Value = 'StaticInitialValue' }

# Environment variables to define when applied to a session
# EnvironmentVariables = @{ Variable1 = 'Value1'; Variable2 = 'Value2' }

# Type files (.ps1xml) to load when applied to a session
# TypesToProcess = 'C:\ConfigData\MyTypes.ps1xml', 'C:\ConfigData\OtherTypes.ps1xml'

# Format files (.ps1xml) to load when applied to a session
# FormatsToProcess = 'C:\ConfigData\MyFormats.ps1xml', 'C:\ConfigData\OtherFormats.ps1xml'

# Assemblies to load when applied to a session
# AssembliesToLoad = 'System.Web', 'System.OtherAssembly, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

} 

Om te worden gebruikt door een sessieconfiguratie JEA, moet de rol mogelijkheden worden opgeslagen als een geldige PowerShell-module in een map met de naam 'RoleCapabilities'.To be used by a JEA session configuration, Role Capabilities must be saved as a valid PowerShell module in a directory named “RoleCapabilities”. Een module mogelijk meerdere rol capability-bestanden, indien gewenst.A module may have multiple role capability files, if desired.

Als u wilt configureren welke cmdlets, functies, aliassen en scripts die een gebruiker toegang heeft tot bij het verbinden met een sessie JEA, uw eigen regels aan het rol mogelijkheid bestand toevoegen na de opmerkingen van sjablonen.To start configuring which cmdlets, functions, aliases, and scripts a user may access when connecting to a JEA session, add your own rules to the Role Capability file following the commented out templates. Bekijk voor uitvoerig stil in hoe u de mogelijkheden van de rol kunt configureren, de volledige handleiding ervaren.For a deeper look into how you can configure Role Capabilities, check out the full experience guide.

Ten slotte zodra u klaar bent met het aanpassen van uw sessieconfiguratie en de gerelateerde rol mogelijkheden, registreren van deze sessieconfiguratie en het eindpunt te maken door te voeren Register-PSSessionConfiguration.Finally, once you have finished customizing your session configuration and related Role Capabilities, register this session configuration and create the endpoint by running Register-PSSessionConfiguration.

Register-PSSessionConfiguration -Name Maintenance -Path "C:\ProgramData\JEAConfiguration\Demo.pssc" 

Verbinding maken met een eindpunt JEAConnect to a JEA Endpoint

Verbinding maken met een eindpunt JEA werkt op dezelfde manier verbinding maken met een andere PowerShell eindpunt werkt.Connecting to a JEA Endpoint works the same way connecting to any other PowerShell endpoint works. Hoeft u alleen de naam van uw eindpunt JEA geven als de parameter 'ConfigurationName' voor New-PSSession, Invoke-Command, of Enter-PSSession.You simply have to give your JEA endpoint name as the “ConfigurationName” parameter for New-PSSession, Invoke-Command, or Enter-PSSession.

Enter-PSSession -ConfigurationName Maintenance -ComputerName localhost

Zodra u hebt gekoppeld aan de sessie JEA, kunt u zich beperkt tot de opdrachten wilt plaatsen in de rol mogelijkheden die u toegang tot hebt uitgevoerd.Once you have connected to the JEA session, you will be limited to running the commands whitelisted in the Role Capabilities that you have access to. Als u probeert een opdracht is niet toegestaan voor uw rol uit te voeren, wordt er een fout optreden.If you try to run any command not allowed for your role, you will encounter an error.