New-PSRoleCapabilityFile

세션 구성을 통해 노출할 기능 집합을 정의하는 파일을 만듭니다.

Syntax

New-PSRoleCapabilityFile
   [-Path] <String>
   [-Guid <Guid>]
   [-Author <String>]
   [-Description <String>]
   [-CompanyName <String>]
   [-Copyright <String>]
   [-ModulesToImport <Object[]>]
   [-VisibleAliases <String[]>]
   [-VisibleCmdlets <Object[]>]
   [-VisibleFunctions <Object[]>]
   [-VisibleExternalCommands <String[]>]
   [-VisibleProviders <String[]>]
   [-ScriptsToProcess <String[]>]
   [-AliasDefinitions <IDictionary[]>]
   [-FunctionDefinitions <IDictionary[]>]
   [-VariableDefinitions <Object>]
   [-EnvironmentVariables <IDictionary>]
   [-TypesToProcess <String[]>]
   [-FormatsToProcess <String[]>]
   [-AssembliesToLoad <String[]>]
   [<CommonParameters>]

Description

cmdlet은 New-PSRoleCapabilityFile 세션 구성 파일을 통해 노출될 수 있는 사용자 기능 집합을 정의하는 파일을 만듭니다. 여기에는 사용자가 사용할 수 있는 cmdlet, 함수 및 스크립트를 결정하는 것이 포함됩니다. 기능 파일은 세션 구성 속성 및 값의 해시 테이블을 포함하는 사람이 읽을 수 있는 텍스트 파일입니다. 파일의 확장명은 .psrc이며 둘 이상의 세션 구성에서 사용할 수 있습니다.

파일의 New-PSRoleCapabilityFile 경로를 지정하는 Path 매개 변수를 제외한 모든 매개 변수는 선택 사항입니다. cmdlet을 실행할 때 매개 변수를 포함하지 않으면 매개 변수 설명에 명시된 경우를 제외하고 세션 구성 파일의 해당 키가 주석 처리됩니다. 예를 들어 AssembliesToLoad 매개 변수를 포함하지 않으면 세션 구성 파일의 해당 섹션이 주석 처리됩니다.

세션 구성에서 역할 기능 파일을 사용하려면 먼저 유효한 PowerShell 모듈 폴더의 RoleCapabilities 하위 폴더에 파일을 배치합니다. 그런 다음 PowerShell 세션 구성(.pssc) 파일의 RoleDefinitions 필드에서 이름으로 파일을 참조합니다.

이 cmdlet은 Windows PowerShell 5.0에서 도입되었습니다.

예제

예제 1: 빈 역할 기능 파일 만들기

이 예제에서는 기본값(비어 있음)을 사용하는 새 역할 기능 파일을 만듭니다. 나중에 텍스트 편집기에서 파일을 편집하여 이러한 구성 설정을 변경할 수 있습니다.

New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"

예제 2: 사용자가 서비스 및 VDI 컴퓨터를 다시 시작할 수 있도록 하는 역할 기능 파일 만들기

이 예제에서는 사용자가 특정 이름 패턴과 일치하는 서비스 및 컴퓨터를 다시 시작할 수 있도록 하는 샘플 역할 기능 파일을 만듭니다. 이름 필터링은 ValidatePattern 매개 변수를 정규식VDI\d+으로 설정하여 정의됩니다.

$roleParameters = @{
    Path = ".\Maintenance.psrc"
    Author = "User01"
    CompanyName = "Fabrikam Corporation"
    Description = "This role enables users to restart any service and restart any VDI computer."
    ModulesToImport = "Microsoft.PowerShell.Core"
    VisibleCmdlets = "Restart-Service", @{
                      Name = "Restart-Computer"
                      Parameters = @{ Name = "ComputerName"; ValidatePattern = "VDI\d+" }
    }
}
New-PSRoleCapabilityFile @roleParameters

매개 변수

-AliasDefinitions

역할 기능 파일을 사용하는 세션에 지정된 별칭을 추가합니다. 다음 키를 사용하여 해시 테이블을 입력합니다.

  • Name(이름): 별칭의 이름입니다. 이 키는 필수입니다.
  • 값. 별칭이 나타내는 명령입니다. 이 키는 필수입니다.
  • 설명. 별칭을 설명하는 텍스트 문자열입니다. 이 키는 선택 사항입니다.
  • 옵션. 별칭 옵션입니다. 이 키는 선택 사항입니다. 기본 값은 None입니다. 이 매개 변수에 허용되는 값은 None, ReadOnly, Constant, Private 또는 AllScope입니다.

예: @{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AssembliesToLoad

역할 기능 파일을 사용하는 세션에 로드할 어셈블리를 지정합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Author

역할 기능 파일을 만든 사용자를 지정합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompanyName

역할 기능 파일을 만든 회사를 식별합니다. 기본값은 Unknown입니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

역할 기능 파일에 대한 저작권을 지정합니다. 이 매개 변수를 생략하면 Author 매개 변수 New-PSRoleCapabilityFile 값을 사용하여 copyright 문을 생성합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

역할 기능 파일에 대한 설명을 지정합니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnvironmentVariables

이 역할 기능 파일을 노출하는 세션의 환경 변수를 지정합니다. 키가 환경 변수 이름이고 값이 환경 변수 값인 해시 테이블을 입력합니다.

예: EnvironmentVariables=@{TestShare="\\\\Server01\TestShare"}

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatsToProcess

역할 기능 파일을 사용하는 세션에서 실행되는 서식 파일(.ps1xml)을 지정합니다. 이 매개 변수의 값은 서식 파일의 전체 또는 절대 경로여야 합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FunctionDefinitions

역할 기능을 노출하는 세션에 지정된 함수를 추가합니다. 다음 키를 사용하여 해시 테이블을 입력합니다.

  • Name(이름): 함수의 이름입니다. 이 키는 필수입니다.
  • ScriptBlock. 함수 본문입니다. 스크립트 블록을 입력합니다. 이 키는 필수입니다.
  • 옵션. 함수 옵션입니다. 이 키는 선택 사항입니다. 기본 값은 None입니다. 이 매개 변수에 허용되는 값은 None, ReadOnly, Constant, Private 또는 AllScope입니다.

예시:

@{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}

Type:IDictionary[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Guid

역할 기능 파일에 대한 고유 식별자를 지정합니다. 이 매개 변수 New-PSRoleCapabilityFile 를 생략하면 파일에 대한 GUID가 생성됩니다. PowerShell에서 새 GUID를 만들려면 .를 입력합니다 [guid]::NewGuid().

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ModulesToImport

역할 기능 파일을 사용하는 세션으로 자동으로 가져오는 모듈을 지정합니다. 기본적으로 나열된 모듈의 모든 명령이 표시됩니다. VisibleCmdlets 또는 VisibleFunctions와 함께 사용하는 경우 지정된 모듈에서 표시되는 명령을 제한할 수 있습니다.

이 매개 변수의 값에 사용되는 각 모듈은 문자열 또는 해시 테이블로 나타낼 수 있습니다. 모듈 문자열은 모듈의 이름으로만 구성됩니다. 모듈 해시 테이블에는 ModuleName, ModuleVersionGUID 키가 포함될 수 있습니다. ModuleName 키만 필요합니다.

예를 들어 다음 값은 문자열과 해시 테이블로 구성됩니다. 문자열과 해시 테이블의 조합은 임의의 순서로 유효합니다.

"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

역할 기능 파일의 경로와 파일 이름을 지정합니다. 파일에 파일 이름 확장명이 .psrc 있어야 합니다.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptsToProcess

역할 기능 파일을 사용하는 세션에 추가할 스크립트를 지정합니다. 스크립트의 경로와 파일 이름을 입력합니다. 이 매개 변수의 값은 스크립트 파일 이름의 전체 또는 절대 경로여야 합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypesToProcess

역할 기능 파일을 사용하는 세션에 추가할 형식 파일(.ps1xml)을 지정합니다. 형식 파일 이름을 입력합니다. 이 매개 변수의 값은 파일 이름의 전체 또는 절대 경로여야 합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VariableDefinitions

역할 기능 파일을 사용하는 세션에 추가할 변수를 지정합니다. 다음 키를 사용하여 해시 테이블을 입력합니다.

  • Name(이름): 변수의 이름입니다. 이 키는 필수입니다.
  • 값. 변수 값입니다. 이 키는 필수입니다.

예: @{Name="WarningPreference";Value="SilentlyContinue"}

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VisibleAliases

세션의 별칭을 이 매개 변수 값에 지정된 별칭과 AliasDefinition 매개 변수에 정의한 별칭으로 제한합니다. 와일드카드 문자가 지원됩니다. 기본적으로 PowerShell 엔진에서 정의한 모든 별칭과 모듈이 내보내는 모든 별칭이 세션에 표시됩니다.

예를 들어 사용 가능한 별칭을 gm 및 gcm으로 제한하려면 다음 구문을 사용합니다. VisibleAliases="gcm", "gp"

Visible 매개 변수가 역할 기능 파일에 포함되면 PowerShell은 세션에서 cmdlet 및 해당 ipmo 별칭을 제거 Import-Module 합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-VisibleCmdlets

세션의 cmdlet을 이 매개 변수 값에 지정된 cmdlet으로 제한합니다. Wild카드 문자 및 모듈 정규화된 이름이 지원됩니다.

기본적으로 세션 내보내기에서 모듈이 세션에 표시되는 모든 cmdlet이 표시됩니다. SessionTypeModulesToImport 매개 변수를 사용하여 세션으로 가져올 모듈 및 스냅인을 결정합니다. ModulesToImportcmdlet New-PSRoleCapabilityFile 을 노출하는 모듈이 없는 경우 적절한 모듈을 로드하려고 합니다.

Visible 매개 변수가 세션 구성 파일에 포함되면 PowerShell은 세션에서 cmdlet 및 해당 ipmo 별칭을 제거 Import-Module 합니다.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-VisibleExternalCommands

세션에서 실행할 수 있는 외부 이진 파일, 스크립트 및 명령을 이 매개 변수 값에 지정된 것으로 제한합니다.

기본적으로 이 세션에는 외부 명령이 표시되지 않습니다.

Visible 매개 변수가 세션 구성 파일에 포함되면 PowerShell은 세션에서 cmdlet 및 해당 ipmo 별칭을 제거 Import-Module 합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VisibleFunctions

세션의 함수를 이 매개 변수 값에 지정된 함수와 FunctionDefinitions 매개 변수에 정의한 함수로 제한합니다 . 와일드카드 문자가 지원됩니다.

기본적으로 세션의 모듈에서 내보낸 모든 함수가 해당 세션에 표시됩니다. SessionTypeModulesToImport 매개 변수를 사용하여 세션으로 가져올 모듈을 결정합니다.

Visible 매개 변수가 세션 구성 파일에 포함되면 PowerShell은 세션에서 cmdlet 및 해당 ipmo 별칭을 제거 Import-Module 합니다.

Type:Object[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-VisibleProviders

세션의 PowerShell 공급자를 이 매개 변수 값에 지정된 공급자로 제한합니다. 와일드카드 문자가 지원됩니다.

기본적으로 세션의 모듈에서 내보낸 모든 공급자가 세션에 표시됩니다. SessionTypeModulesToImport 매개 변수를 사용하여 세션으로 가져올 모듈을 결정합니다.

Visible 매개 변수가 세션 구성 파일에 포함되면 PowerShell은 세션에서 cmdlet 및 해당 ipmo 별칭을 제거 Import-Module 합니다.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True