Chapters/just-enough-administration-primer/CreateEndpoint.ps1
#Requires -version 5.1 <# SYNTAX New-PSSessionConfigurationFile [-Path] <String> [-AliasDefinitions <IDictionary[]>] [-AssembliesToLoad <String[]>] [-Author <String>] [-CompanyName <String>] [-Copyright <String>] [-Description <String>] [-EnvironmentVariables <IDictionary>] [-ExecutionPolicy {Unrestricted | RemoteSigned | AllSigned | Restricted | Default | Bypass | Undefined}] [-FormatsToProcess <String[]>] [-Full] [-FunctionDefinitions <IDictionary[]>] [-GroupManagedServiceAccount <String>] [-Guid <Guid>] [-LanguageMode {FullLanguage | RestrictedLanguage | NoLanguage | ConstrainedLanguage}] [-ModulesToImport <Object[]>] [-MountUserDrive] [-PowerShellVersion <Version>] [-RequiredGroups <IDictionary>] [-RoleDefinitions <IDictionary>] [-RunAsVirtualAccount] [-RunAsVirtualAccountGroups <String[]>] [-SchemaVersion <Version>] [-ScriptsToProcess <String[]>] [-SessionType {Empty | RestrictedRemoteServer | Default}] [-TranscriptDirectory <String>] [-TypesToProcess <String[]>] [-UserDriveMaximumSize <Int64>] [-VariableDefinitions <Object>] [-VisibleAliases <String[]>] [-VisibleCmdlets <Object[]>] [-VisibleExternalCommands <String[]>] [-VisibleFunctions <Object[]>] [-VisibleProviders <String[]>] [<CommonParameters>] #> #The name of the role capability should be the name of the role capability file, #without the .psrc extension. $roles = @{ "company\JEA_ShareAdmins" = @{RoleCapabilities = 'ShareAdmins'} } #create the file $params = @{ Path = ".\ShareAdmin.pssc" SessionType = "RestrictedRemoteServer" RunAsVirtualAccount = $True RoleDefinitions = $roles Description = "JEA Share Admin endpoint" } New-PSSessionConfigurationFile @params #validate it Test-PSSessionConfigurationFile .\ShareAdmin.pssci |