{"id":318,"date":"2021-03-31T12:13:20","date_gmt":"2021-03-31T10:13:20","guid":{"rendered":"http:\/\/brgeek.com.br\/wordpress\/?p=318"},"modified":"2021-03-31T12:15:51","modified_gmt":"2021-03-31T10:15:51","slug":"jea-just-enough-administration","status":"publish","type":"post","link":"http:\/\/brgeek.com.br\/wordpress\/2021\/03\/31\/jea-just-enough-administration\/","title":{"rendered":"JEA &#8211; Just Enough Administration"},"content":{"rendered":"<p>As JEA is a built-in feature of Windows Server 2016 no prerequisites must be installed, but it\u2019s highly recommended to enable script block logging in the corresponding GPO which applies to the server or workstation on which the JEA endpoint to be created:<\/p>\n<p>Computer Configuration\\Administrative Templates\\Windows Components\\Windows PowerShell<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/1.png\" alt=\"\" width=\"620\" height=\"425\" class=\"alignnone size-full wp-image-303\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/1.png 620w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/1-600x411.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/1-300x206.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>1) Enable Turn on Module Logging and select all modules by clicking on Show\u2026 and typing \\*<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/2.png\" alt=\"\" width=\"620\" height=\"571\" class=\"alignnone size-full wp-image-304\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/2.png 620w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/2-600x553.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/2-300x276.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>2) Enable Turn on PowerShell Script Block Logging (you can also select Log script block invocation start\/stop events checkbox)<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/3.png\" alt=\"\" width=\"620\" height=\"574\" class=\"alignnone size-full wp-image-305\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/3.png 620w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/3-600x555.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/3-300x278.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>There\u2019s also one more setting that can be enabled \u2013 Turn on PowerShell Transcription \u2013 this setting when enabled will log all PS-based commands into the specified directory (please note that we can define a separate transcript folder for each endpoint \u2013 I\u2019ll show it a bit later).<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/4.png\" alt=\"\" width=\"620\" height=\"574\" class=\"alignnone size-full wp-image-306\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/4.png 620w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/4-600x555.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/4-300x278.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>In case this policy setting is enabled the complete list of the PowerShell GPO settings will look as follows:<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/5.png\" alt=\"\" width=\"620\" height=\"425\" class=\"alignnone size-full wp-image-307\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/5.png 620w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/5-600x411.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/5-300x206.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>Once the GPO is created, we can proceed to the first step in deploying JEA:<\/p>\n<p>Step 1: Creating a new PowerShell module<\/p>\n<p>(All the steps will be performed on my domain controller \u2013 DC. This is the server TO WHICH a user named User1 will be given access).<\/p>\n<p>All JEA functionality \u201ccontains\u201d in the user-defined PowerShell modules and I prefer creating the new modules beforehand so I can place all needed files in the new module\u2019s folder later on. By default PS looks for its modules in C:\\Program Files\\WindowsPowerShell\\Modules folder so to create a new module I\u2019ll do the following:<\/p>\n<p>a)Create a folder for the module:<br \/>\nb)Create a new empty module (at least one file in the module folder must have the same name as the folder \u2013 in this case Mymodule) \u2013 in fact the module is just a .psm1file:<br \/>\n<strong>New-Item -ItemType File -Path .\\Mymodule.psm1<\/strong><\/p>\n<p>c)Create a new manifest file (.psm1 file)<br \/>\n<strong>New-ModuleManifest -Path .\\Mymodule.psd1 -RootModule \u201cMymodule.psm1\u201d<\/strong><\/p>\n<p>You will have now inside the folder you create 2 files named<\/p>\n<ul>\n<li>psm1<\/li>\n<li>psd1<\/li>\n<\/ul>\n<p>Step 2: Creating role capabilities file (.psrc file)<br \/>\nAt least one .psrc file called role capabilities file must be created which defines what user or administrator can do in a JEA session. This file contains all cmdlets and external programs (it can contain providers and functions as well) which will be permitted to use in the JEA session. For this test I\u2019ll create the file which permits a user only to see the list of running process by means of Get-Process cmdlet, the list of services by means of Get-Service cmdlet. The .psrc file must be placed in the RoleCapabilities subfolder of the module\u2019s folder:<\/p>\n<p>a)I create RoleCapabilitiesfolder in the Mymodule folder<br \/>\nb)and the role capabilities file in it<br \/>\n<strong>New-PSRoleCapabilityFile -Path .\\RoleCapabilities\\MyModule.psrc<\/strong><\/p>\n<p>Now I can edit the MyModule.psrc with Notepad to permit only a few cmdlets\/external commands:<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/6.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/6.png\" alt=\"\" width=\"928\" height=\"540\" class=\"alignnone size-full wp-image-308\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/6.png 928w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/6-600x349.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/6-300x175.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/6-768x447.png 768w\" sizes=\"auto, (max-width: 928px) 100vw, 928px\" \/><\/a><\/p>\n<p>Step 3: Creating session configuration file (.pssc file)<br \/>\nTo define who will have access to the new endpoint and under which account the new ps session will run, the session configuration file must be created (I\u2019ll create it in the module\u2019s folder):<\/p>\n<p><strong>New-PSSessionConfigurationFile -SessionType RestrictedRemoteServer -Path .\\ MyModuleConfiguration.pssc<\/strong><\/p>\n<p>Sessions configured with -SessionType RestrictedRemoteServer field will operate in the Restricted Language mode which allows by default only the following commands:<\/p>\n<ul>\n<li>Clear-Host (cls, clear)<\/li>\n<li>Exit-PSSession (exsn, exit)<\/li>\n<li>Get-Command (gcm)<\/li>\n<li>Get-FormatData<\/li>\n<li>Get-Help<\/li>\n<li>Measure-Object (measure)<\/li>\n<li>Out-Default<\/li>\n<li>Select-Object (select)<\/li>\n<\/ul>\n<p>Like <strong>.psd1<\/strong> and .psm1 files, the <strong>.pssc<\/strong> files can be edited in Notepad \u2013 I\u2019ll configure the following sections:<\/p>\n<p>TranscriptDirectory \u2013 this line enables logging of the commands run in the session (this is the endpoint-specific transcript directory as opposed to the default transcript directory defined in the PS GPO above) .<\/p>\n<p>RunAsVirtualAccount \u2013 if set to true runs the session under virtual administrative account (member of either local Administrator\u2018s group).<\/p>\n<p>Other options:<\/p>\n<p>1) if you don\u2019t want to run the new session under administrative account you can specify any group\/groups of which this virtual account should be the member of:<\/p>\n<p>RunAsVirtualAccount = $true<br \/>\nRunAsVirtualAccountGroups = \u2018Network Configuration Operators\u2019<\/p>\n<p>2) for accessing network resourses from the new session you can use group managed service account:<br \/>\nGroupManagedServiceAccount = \u2018YOURDOMAIN\\serviceaccount\u2019<\/p>\n<p>RoleDefinitions \u2013 defines who (in my test \u2013 Outfield\\Jeaoutfield) will have access to which endpoint (the name of the endpoint is the RoleCapabilities file name without extension).<\/p>\n<p>SessionType is already set to RestrictedRemoteServer<\/p>\n<p>Description \u2013 the optional field.<\/p>\n<p>Before we proceed to registering JEA endpoint it would be pertinent to test the session configuration file using the Test-PSSessionConfigurationFile cmdlet:<\/p>\n<p><strong>Test-PSSessionConfigurationFile -Path \u201cMyModuleConfiguration.pssc\u201d (in my test below I called this file PsSessionConfiguration.pssc)<\/strong><\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7.png\" alt=\"\" width=\"1219\" height=\"505\" class=\"alignnone size-full wp-image-309\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7.png 1219w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7-600x249.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7-300x124.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7-1024x424.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/7-768x318.png 768w\" sizes=\"auto, (max-width: 1219px) 100vw, 1219px\" \/><\/a><\/p>\n<p>Should this test reveal any errors you can edit the file once again in Notepad.<\/p>\n<p>True means the file has the correct syntax.<\/p>\n<p>The LAST STEP: Registering the ENDPOINT<\/p>\n<p>The following command will register the new endpoint on the system:<\/p>\n<p><strong>Register-PSSessionConfiguration -Path MyModuleConfiguration.pssc -Name \u2018Endpoint1\u2019 -Force<\/strong><\/p>\n<p>You can see the newly created endpoint by issuing this command:<\/p>\n<p><strong>Get-PSSessionConfiguration | Select-Object Name |fl<\/strong> (in my test I called the endpoint as below)<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8.png\" alt=\"\" width=\"1108\" height=\"321\" class=\"alignnone size-full wp-image-310\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8.png 1108w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8-600x174.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8-300x87.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8-1024x297.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/8-768x222.png 768w\" sizes=\"auto, (max-width: 1108px) 100vw, 1108px\" \/><\/a><\/p>\n<p>Now it\u2019s time to test the new endpoint: first of all, I\u2019d like to make sure the endpoint works as expected by connecting to the local host using Jeaoutfield domain credentials.<\/p>\n<p>I) Connecting to the local host<br \/>\n<strong>$UserCred = Get-Credential<\/strong><\/p>\n<p><strong>Enter-PSSession -ComputerName localhost -ConfigurationName Endpoint1 -Credential $UserCred<\/strong> (in my test I called the endpoint as below)<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9.png\" alt=\"\" width=\"1590\" height=\"203\" class=\"alignnone size-full wp-image-311\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9.png 1590w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9-600x77.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9-300x38.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9-1024x131.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9-768x98.png 768w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/9-1536x196.png 1536w\" sizes=\"auto, (max-width: 1590px) 100vw, 1590px\" \/><\/a><\/p>\n<p>From now on, all cmdlets will be run under virtual administrative account.<\/p>\n<p>Get-Process (It should succeed as it\u2019s defined in the RoleCapabilities file)<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10.png\" alt=\"\" width=\"1590\" height=\"531\" class=\"alignnone size-full wp-image-312\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10.png 1590w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10-600x200.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10-300x100.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10-1024x342.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10-768x256.png 768w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/10-1536x513.png 1536w\" sizes=\"auto, (max-width: 1590px) 100vw, 1590px\" \/><\/a><\/p>\n<p>Get-Service (It should succeed as it\u2019s defined in the RoleCapabilities file)<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11.png\" alt=\"\" width=\"1596\" height=\"607\" class=\"alignnone size-full wp-image-313\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11.png 1596w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11-600x228.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11-300x114.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11-1024x389.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11-768x292.png 768w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/11-1536x584.png 1536w\" sizes=\"auto, (max-width: 1596px) 100vw, 1596px\" \/><\/a><\/p>\n<p>Get-Childitem and Get-Date should NOT succeed because they are not listed in the RoleCapabilities file.<\/p>\n<p>Get-Command will succeed as it\u2019s one of the base cmdlets allowed in the restricted language mode and it also shows all permitted commands on the session:<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12.png\" alt=\"\" width=\"1595\" height=\"556\" class=\"alignnone size-full wp-image-314\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12.png 1595w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12-600x209.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12-300x105.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12-1024x357.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12-768x268.png 768w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/12-1536x535.png 1536w\" sizes=\"auto, (max-width: 1595px) 100vw, 1595px\" \/><\/a><\/p>\n<p>Issuing the Exit-PSSession command will end the remote session and its mandatory: the DC prefix will change to the previous PATH.<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13.png\" alt=\"\" width=\"1595\" height=\"162\" class=\"alignnone size-full wp-image-315\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13.png 1595w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13-600x61.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13-300x30.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13-1024x104.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13-768x78.png 768w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/13-1536x156.png 1536w\" sizes=\"auto, (max-width: 1595px) 100vw, 1595px\" \/><\/a><\/p>\n<p>As you\u2019ve already seen, the EndpointOUTFIELD sessions have their transcript directory set to C:\\Scripts\\JEA\\Transcripts \u2013 let\u2019s parse the transcript of the session above (please note that logging occurs on the server where the user-defined PS module is installed):<\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14.png\" alt=\"\" width=\"1331\" height=\"351\" class=\"alignnone size-full wp-image-316\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14.png 1331w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14-600x158.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14-300x79.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14-1024x270.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/14-768x203.png 768w\" sizes=\"auto, (max-width: 1331px) 100vw, 1331px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15.png\" alt=\"\" width=\"1318\" height=\"631\" class=\"alignnone size-full wp-image-317\" srcset=\"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15.png 1318w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15-600x287.png 600w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15-300x144.png 300w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15-1024x490.png 1024w, http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2021\/03\/15-768x368.png 768w\" sizes=\"auto, (max-width: 1318px) 100vw, 1318px\" \/><\/a><\/p>\n<p>Summary<\/p>\n<p>The new feature of Windows Server 2016 \u2013 Just Enough Administration \u2013 can help administrators control in the most specific way what administrative actions other administrators or users may perform on which systems: this level of control is not possible with Windows GUI.<\/p>\n<p>Note : ENDPOINTS are created \u201cper machine\u201d so now next step is to find a way to deploy this in a automated way , either using Azure Devops , DSC and fully customizable for a IaC infrastructure.<\/p>\n<p>Hope this post can help you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As JEA is a built-in feature of Windows Server 2016 no prerequisites must be installed, but it\u2019s highly recommended to enable script block logging in the corresponding GPO which applies to the server or workstation on which the JEA endpoint to be created: Computer Configuration\\Administrative Templates\\Windows Components\\Windows PowerShell 1) Enable [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":22,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[80,78,79,8,12,23,6],"class_list":["post-318","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-coding","tag-jea","tag-just-enough-administration","tag-michael-goulart","tag-microsoft","tag-netherlands","tag-powershell"],"jetpack_featured_media_url":"http:\/\/brgeek.com.br\/wordpress\/wp-content\/uploads\/2017\/08\/powershell.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts\/318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/comments?post=318"}],"version-history":[{"count":1,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts\/318\/revisions"}],"predecessor-version":[{"id":319,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/posts\/318\/revisions\/319"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/media\/22"}],"wp:attachment":[{"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/media?parent=318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/categories?post=318"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/brgeek.com.br\/wordpress\/wp-json\/wp\/v2\/tags?post=318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}