Import-PSSession
다른 세션의 명령을 현재 세션으로 가져옵니다.
구문
Import-PSSession
[-Prefix <String>]
[-DisableNameChecking]
[[-CommandName] <String[]>]
[-AllowClobber]
[-ArgumentList <Object[]>]
[-CommandType <CommandTypes>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-FormatTypeName] <String[]>]
[-Certificate <X509Certificate2>]
[-Session] <PSSession>
[<CommonParameters>]
Description
cmdlet은 Import-PSSession
cmdlet, 함수 및 별칭과 같은 명령을 로컬 또는 원격 컴퓨터의 PSSession에서 현재 세션으로 가져옵니다. cmdlet이 Get-Command
PSSession에서 찾을 수 있는 모든 명령을 가져올 수 있습니다.
Import-PSSession
명령을 사용하여 사용자 지정된 셸(예: Microsoft Exchange Server 셸) 또는 Windows PowerShell 모듈 및 스냅인 또는 현재 세션에 없는 기타 요소가 포함된 세션에서 명령을 가져옵니다.
명령을 가져오려면 먼저 cmdlet을 New-PSSession
사용하여 PSSession을 만듭니다. 그런 다음, cmdlet을 Import-PSSession
사용하여 명령을 가져옵니다. 기본적으로 Import-PSSession
현재 세션의 명령과 이름이 같은 명령을 제외한 모든 명령을 가져옵니다. 모든 명령을 가져오려면 AllowClobber 매개 변수를 사용합니다.
가져온 명령은 세션의 다른 명령과 같은 방법으로 사용할 수 있습니다. 가져온 명령을 사용하면 가져온 명령의 일부가 가져온 세션에서 암시적으로 실행됩니다. 그러나 원격 작업은 Windows PowerShell에서 전적으로 처리됩니다. 다른 세션(PSSession)에 대한 연결을 열어 두어야 한다는 점을 제외하고는 인식할 필요가 없습니다. 닫으면 가져온 명령을 더 이상 사용할 수 없습니다.
가져온 명령은 로컬 명령보다 실행하는 데 더 오래 걸릴 수 있으므로 가져온 모든 명령에 Import-PSSession
AsJob 매개 변수를 추가합니다. 이 매개 변수는 명령을 Windows PowerShell 백그라운드 작업으로 실행할 수 있도록 합니다. 자세한 내용은 about_Jobs 참조하세요.
사용하는 Import-PSSession
경우 Windows PowerShell은 가져온 명령을 세션에만 존재하는 임시 모듈에 추가하고 모듈을 나타내는 개체를 반환합니다. 이후 세션에서 사용할 수 있는 영구 모듈을 만들려면 cmdlet을 Export-PSSession
사용합니다.
이 cmdlet은 Import-PSSession
Windows PowerShell의 암시적 원격 기능을 사용합니다. 현재 세션으로 명령을 가져오면 원래 세션 또는 원래 컴퓨터의 유사한 세션에서 암시적으로 실행됩니다.
Windows PowerShell 3.0부터 cmdlet을 Import-Module
사용하여 원격 세션에서 현재 세션으로 모듈을 가져올 수 있습니다. 이 기능은 암시적 원격을 사용합니다. 원격 세션에서 현재 세션으로 선택한 모듈을 가져오는 데 사용하는 Import-PSSession
것과 같습니다.
예제
예제 1: PSSession에서 모든 명령 가져오기
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S
이 명령은 현재 세션의 명령과 이름이 같은 명령을 제외하고 Server01 컴퓨터의 PSSession에서 현재 세션으로 모든 명령을 가져옵니다.
이 명령은 CommandName 매개 변수를 사용하지 않으므로 가져온 명령에 필요한 모든 서식 데이터를 가져옵니다.
예제 2: 특정 문자열로 끝나는 명령 가져오기
$S = New-PSSession https://ps.testlabs.com/powershell
Import-PSSession -Session $S -CommandName *-test -FormatTypeName *
New-Test -Name Test1
Get-Test test1 | Run-Test
이 명령은 "-test"로 끝나는 이름의 명령을 PSSession에서 로컬 세션으로 가져온 다음 가져온 cmdlet을 사용하는 방법을 보여 줍니다.
첫 번째 명령은 cmdlet을 New-PSSession
사용하여 PSSession을 만듭니다. PSSession을 변수에 $S
저장합니다.
두 번째 명령은 cmdlet을 Import-PSSession
사용하여 PSSession $S
의 명령을 현재 세션으로 가져옵니다. CommandName 매개 변수를 사용하여 Test 명사 및 FormatTypeName 매개 변수를 사용하여 명령을 지정하여 Test 명령에 대한 서식 데이터를 가져옵니다.
세 번째 및 네 번째 명령은 현재 세션에서 가져온 명령을 사용합니다. 가져온 명령은 실제로 현재 세션에 추가되므로 로컬 구문을 사용하여 실행합니다. 가져온 명령을 실행하기 위해 cmdlet을 사용할 Invoke-Command
필요가 없습니다.
예제 3: PSSession에서 cmdlet 가져오기
$S1 = New-PSSession -ComputerName s1
$S2 = New-PSSession -ComputerName s2
Import-PSSession -Session s1 -Type cmdlet -Name New-Test, Get-Test -FormatTypeName *
Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
New-Test Test1 | Set-Test -RunType Full
이 예제에서는 가져온 cmdlet을 로컬 cmdlet과 같은 방법으로 사용할 수 있음을 보여 줍니다.
이러한 명령은 Server01 컴퓨터의 New-Test
Get-Test
PSSession 및 Server02 컴퓨터의 Set-Test
PSSession에서 cmdlet 및 cmdlet을 가져옵니다.
cmdlet을 다른 PSSessions에서 가져왔지만 오류 없이 한 cmdlet에서 다른 cmdlet으로 개체를 파이프할 수 있습니다.
예제 4: 가져온 명령을 백그라운드 작업으로 실행
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S -CommandName *-test* -FormatTypeName *
$batch = New-Test -Name Batch -AsJob
Receive-Job $batch
이 예제에서는 가져온 명령을 백그라운드 작업으로 실행하는 방법을 보여줍니다.
가져온 명령은 로컬 명령보다 실행하는 데 더 오래 걸릴 수 있으므로 가져온 모든 명령에 Import-PSSession
AsJob 매개 변수를 추가합니다. AsJob 매개 변수를 사용하면 명령을 백그라운드 작업으로 실행할 수 있습니다.
첫 번째 명령은 Server01 컴퓨터에서 PSSession을 만들고 PSSession 개체를 변수에 $S
저장합니다.
두 번째 명령은 PSSession $S
에서 현재 세션으로 테스트 cmdlet을 가져오는 데 사용합니다Import-PSSession
.
세 번째 명령은 가져온 New-Test
cmdlet의 AsJob 매개 변수를 사용하여 명령을 백그라운드 작업으로 실행 New-Test
합니다. 이 명령은 변수에 반환되는 New-Test
작업 개체를 $batch
저장합니다.
네 번째 명령은 cmdlet을 Receive-Job
사용하여 변수에서 작업의 $batch
결과를 가져옵니다.
예제 5: Windows PowerShell 모듈에서 cmdlet 및 함수 가져오기
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S {Import-Module TestManagement}
Import-PSSession -Session $S -Module TestManagement
이 예제에서는 원격 컴퓨터의 Windows PowerShell 모듈에서 cmdlet 및 함수를 현재 세션으로 가져오는 방법을 보여 줍니다.
첫 번째 명령은 Server01 컴퓨터에서 PSSession을 만들고 변수에 $S
저장합니다.
두 번째 명령은 cmdlet을 Invoke-Command
사용하여 PSSession$S
의 명령을 실행 Import-Module
합니다.
일반적으로 모듈은 Windows PowerShell 프로필의 명령에 의해 모든 세션에 Import-Module
추가되지만 프로필은 PSSessions에서 실행되지 않습니다.
세 번째 명령은 모듈 매개 변수를 사용하여 모듈 의 Import-PSSession
cmdlet 및 함수를 현재 세션으로 가져옵니다.
예제 6: 임시 파일에 모듈 만들기
PS C:\> Import-PSSession $S -CommandName Get-Date, SearchHelp -FormatTypeName * -AllowClobber
Name : tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
Path : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1
zunz.ttf\tmp_79468106-4e1d-4d90-af97-1154f9317239_
tcw1zunz.ttf.psm1
Description : Implicit remoting for http://server01.corp.fabrikam.com/wsman
Guid : 79468106-4e1d-4d90-af97-1154f9317239
Version : 1.0
ModuleBase : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1
zunz.ttf
ModuleType : Script
PrivateData : {ImplicitRemoting}
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]}
ExportedVariables : {}
NestedModules : {}
이 예제에서는 디스크의 임시 파일에 모듈을 만드는 방법을 Import-PSSession
보여줍니다. 또한 모든 명령이 현재 세션으로 가져오기 전에 함수로 변환됨을 보여 줍니다.
이 명령은 cmdlet을 Import-PSSession
사용하여 cmdlet 및 SearchHelp 함수를 현재 세션으로 가져옵니다 Get-Date
.
cmdlet은 Import-PSSession
임시 모듈을 나타내는 PSModuleInfo 개체를 반환합니다. Path 속성 값은 임시 위치에 스크립트 모듈(.psm1) 파일을 만든 것을 보여 Import-PSSession
줍니다. ExportedFunctions 속성은 cmdlet과 SearchHelp 함수가 모두 함수로 가져온 것을 보여 Get-Date
줍니다.
예제 7: 가져온 명령으로 숨겨진 명령 실행
PS C:\> Import-PSSession $S -CommandName Get-Date -FormatTypeName * -AllowClobber
PS C:\> Get-Command Get-Date -All
CommandType Name Definition
----------- ---- ----------
Function Get-Date ...
Cmdlet Get-Date Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]
PS C:\> Get-Date
09074
PS C:\> (Get-Command -Type Cmdlet -Name Get-Date).PSSnapin.Name
Microsoft.PowerShell.Utility
PS C:\> Microsoft.PowerShell.Utility\Get-Date
Sunday, March 15, 2009 2:08:26 PM
이 예제에서는 가져온 명령에 의해 숨겨진 명령을 실행하는 방법을 보여줍니다.
첫 번째 명령은 변수의 Get-Date
PSSession에서 cmdlet을 $S
가져옵니다. 현재 세션에 cmdlet이 Get-Date
포함되어 있으므로 명령에 AllowClobber 매개 변수가 필요합니다.
두 번째 명령은 cmdlet의 Get-Command
All 매개 변수를 사용하여 현재 세션의 모든 Get-Date
명령을 가져옵니다. 출력은 세션에 원래 Get-Date
cmdlet 및 함수가 포함되어 있음을 Get-Date
보여줍니다. 함수는 Get-Date
PSSession$S
에서 가져온 Get-Date
cmdlet을 실행합니다.
세 번째 명령은 명령을 실행합니다 Get-Date
. 함수가 cmdlet보다 우선하기 때문에 Windows PowerShell은 가져온 Get-Date
함수를 실행하여 Julian 날짜를 반환합니다.
네 번째 및 다섯 번째 명령은 가져온 명령에서 숨기는 명령을 실행하는 데 정규화된 이름을 사용하는 방법을 보여 줍니다.
네 번째 명령은 현재 세션에 원래 Get-Date
cmdlet을 추가한 Windows PowerShell 스냅인의 이름을 가져옵니다.
다섯 번째 명령은 cmdlet의 Get-Date
정규화된 맞춤 이름을 사용하여 명령을 실행합니다 Get-Date
.
명령 우선 순위 및 숨겨진 명령에 대한 자세한 내용은 about_Command_Precedence 참조하세요.
예제 8: 이름에 특정 문자열이 있는 명령 가져오기
PS C:\> Import-PSSession -Session $S -CommandName **Item** -AllowClobber
이 명령은 이름이 PSSession $S
의 Item을 포함하는 명령을 가져옵니다. 명령에는 CommandName 매개 변수가 포함되지만 FormatTypeData 매개 변수는 포함되지 않으므로 명령만 가져옵니다.
원격 컴퓨터에서 명령을 실행하는 데 사용하고 Import-PSSession
현재 세션에 명령에 대한 서식 데이터가 이미 있는 경우 이 명령을 사용합니다.
예제 9: 모듈 매개 변수를 사용하여 세션으로 가져온 명령을 검색합니다.
PS C:\> $M = Import-PSSession -Session $S -CommandName *bits* -FormatTypeName *bits*
PS C:\> Get-Command -Module $M
CommandType Name
----------- ----
Function Add-BitsFile
Function Complete-BitsTransfer
Function Get-BitsTransfer
Function Remove-BitsTransfer
Function Resume-BitsTransfer
Function Set-BitsTransfer
Function Start-BitsTransfer
Function Suspend-BitsTransfer
이 명령은 모듈 매개 변수 Get-Command
를 사용하여 명령에 의해 Import-PSSession
세션으로 가져온 명령을 찾는 방법을 보여 줍니다.
첫 번째 명령은 cmdlet을 Import-PSSession
사용하여 이름이 변수의 PSSession $S
에서 "bits"를 포함하는 명령을 가져옵니다. 이 Import-PSSession
명령은 임시 모듈을 반환하고 명령은 변수에 모듈을 $m
저장합니다.
두 번째 명령은 cmdlet을 Get-Command
사용하여 변수의 모듈 $M
에서 내보낸 명령을 가져옵니다.
Module 매개 변수는 모듈 이름을 위해 설계된 문자열 값을 사용합니다. 그러나 모듈 개체를 제출할 때 Windows PowerShell은 모듈 개체에서 ToString 메서드를 사용하여 모듈 이름을 반환합니다.
명령은 Get-Command
"에 해당합니다 Get-Command $M.Name
.
매개 변수
-AllowClobber
이 cmdlet은 현재 세션의 명령과 이름이 같더라도 지정된 명령을 가져오도록 나타냅니다.
현재 세션에서 명령과 이름이 같은 명령을 가져오는 경우 가져온 명령은 원래 명령을 숨기거나 바꿉니다. 자세한 내용은 about_Command_Precedence를 참조하세요.
기본적으로 Import-PSSession
현재 세션의 명령과 이름이 같은 명령을 가져오지 않습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ArgumentList
지정된 인수(매개 변수 값)를 사용하여 발생하는 명령 배열을 지정합니다.
예를 들어 PSSession$S
의 인증서(Cert:) 드라이브에서 명령의 Get-Item
변형을 가져오려면 다음을 입력합니다Import-PSSession -Session $S -Command Get-Item -ArgumentList cert:
.
형식: | Object[] |
별칭: | Args |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Certificate
서식 파일(*)에 서명하는 데 사용되는 클라이언트 인증서를 지정합니다. 만드는 임시 모듈의 Format.ps1xml 또는 스크립트 모듈 Import-PSSession
파일(.psm1)입니다.
인증서가 포함된 변수를 입력하거나 인증서를 가져오는 명령 또는 식을 입력합니다.
인증서를 찾으려면 cmdlet을 Get-PfxCertificate
사용하거나 인증서(Cert:) 드라이브에서 cmdlet을 사용합니다 Get-ChildItem
. 인증서가 유효하지 않거나 권한이 충분하지 않으면 명령이 실패합니다.
형식: | X509Certificate2 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-CommandName
지정된 이름 또는 이름 패턴이 있는 명령을 지정합니다. 와일드카드가 허용됩니다. CommandName 또는 해당 별칭인 Name을 사용합니다.
기본적으로 Import-PSSession
현재 세션의 명령과 이름이 같은 명령을 제외하고 세션에서 모든 명령을 가져옵니다. 이렇게 하면 가져온 명령이 세션의 명령을 숨기거나 바꾸지 않습니다. 다른 명령을 숨기거나 바꾸는 명령도 모든 명령을 가져오려면 AllowClobber 매개 변수를 사용합니다.
CommandName 매개 변수를 사용하는 경우 FormatTypeName 매개 변수를 사용하지 않는 한 명령에 대한 서식 파일을 가져오지 않습니다. 마찬가지로 FormatTypeName 매개 변수를 사용하는 경우 CommandName 매개 변수를 사용하지 않는 한 명령을 가져오지 않습니다.
형식: | String[] |
별칭: | Name |
Position: | 2 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-CommandType
명령 개체의 형식을 지정합니다. 기본값은 Cmdlet입니다. CommandType 또는 해당 별칭인 Type을 사용합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
Alias
: 원격 세션의 Windows PowerShell 별칭입니다.All
: 원격 세션의 cmdlet 및 함수입니다.Application
: .txt, .exe 및 .dll 파일을 포함하여 원격 세션의 경로 환경 변수($env:path
)에 나열된 경로의 Windows-PowerShell 파일을 제외한 모든 파일입니다.Cmdlet
: 원격 세션의 cmdlet입니다. 기본값은 "Cmdlet"입니다.ExternalScript
: 원격 세션의 경로 환경 변수($env:path
)에 나열된 경로의 .ps1 파일입니다.Filter
및Function
: 원격 세션의 Windows PowerShell 함수입니다.Script
: 스크립트가 원격 세션에서 차단합니다.
이러한 값은 플래그 기반 열거형으로 정의됩니다. 이 매개 변수를 사용하여 여러 값을 결합하여 여러 플래그를 설정할 수 있습니다. 값은 CommandType 매개 변수에 값 배열 또는 해당 값의 쉼표로 구분된 문자열로 전달될 수 있습니다. cmdlet은 이진 OR 연산을 사용하여 값을 결합합니다. 값을 배열로 전달하는 것이 가장 간단한 옵션이며 값에 대한 탭 완성을 사용할 수도 있습니다.
형식: | CommandTypes |
별칭: | Type |
허용되는 값: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisableNameChecking
이 cmdlet은 이름에 승인되지 않은 동사 또는 금지 문자가 포함된 cmdlet 또는 함수를 가져올 때 경고하는 메시지를 표시하지 않음을 나타냅니다.
기본적으로 가져오는 모듈이 이름에 승인되지 않은 동사가 있는 cmdlet 또는 함수를 내보내면 Windows PowerShell에 다음과 같은 경고 메시지가 표시됩니다.
"경고: 가져온 일부 명령 이름에는 승인되지 않은 동사가 포함되어 있어 검색할 수 없게 만들 수 있습니다. 자세한 내용이나 형식 Get-Verb
을 보려면 Verbose 매개 변수를 사용하여 승인된 동사 목록을 확인하세요."
이 메시지는 경고일 뿐입니다. 비준수 명령을 포함하여 전체 모듈을 계속 가져옵니다. 메시지가 모듈 사용자에게 표시되지만 모듈 작성자가 명명 문제를 해결해야 합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-FormatTypeName
지정된 Microsoft .NET Framework 형식에 대한 서식 지정 지침을 지정합니다. 형식 이름을 입력합니다. 와일드카드가 허용됩니다.
이 매개 변수의 값은 명령을 가져오는 세션의 명령에서 반환 Get-FormatData
되는 형식의 이름이어야 합니다. 원격 세션에서 모든 서식 데이터를 얻으려면 .를 입력합니다 *
.
명령에 CommandName 또는 FormatTypeName 매개 변수 Import-PSSession
가 포함되지 않은 경우 원격 세션의 명령에서 반환된 모든 .NET Framework 형식에 Get-FormatData
대한 서식 지정 지침을 가져옵니다.
FormatTypeName 매개 변수를 사용하는 경우 CommandName 매개 변수를 사용하지 않는 한 명령을 가져오지 않습니다.
마찬가지로 CommandName 매개 변수를 사용하는 경우 FormatTypeName 매개 변수를 사용하지 않는 한 명령에 대한 서식 지정 파일을 가져오지 않습니다.
형식: | String[] |
Position: | 3 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-FullyQualifiedModule
값은 모듈 이름, 전체 모듈 사양 또는 모듈 파일 경로일 수 있습니다.
값이 경로인 경우 경로는 정규화되거나 상대적일 수 있습니다. 상대 경로는 using 문을 포함하는 스크립트를 기준으로 확인됩니다.
값이 이름 또는 모듈 사양인 경우 PowerShell은 PSModulePath에서 지정된 모듈을 검색합니다.
모듈 사양은 다음 키가 있는 해시 테이블입니다.
ModuleName
- 필수 모듈 이름을 지정합니다.GUID
- 선택 사항 모듈의 GUID를 지정합니다.- 또한 아래 세 가지 키 중 하나 이상을 지정해야 합니다 .
ModuleVersion
- 모듈의 허용 가능한 최소 버전을 지정합니다.MaximumVersion
- 모듈의 허용되는 최대 버전을 지정합니다.RequiredVersion
- 모듈의 정확한 필수 버전을 지정합니다. 다른 버전 키에는 사용할 수 없습니다.
Module 매개 변수와 동일한 명령에는 FullyQualifiedModule 매개 변수를 지정할 수 없습니다. 두 매개 변수는 함께 사용할 수 없습니다.
형식: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Module
Windows PowerShell 스냅인 및 모듈에서 명령의 배열을 지정하고 배열합니다. 스냅인 및 모듈 이름을 입력합니다. 와일드카드는 허용되지 않습니다.
Import-PSSession
는 스냅인에서 공급자를 가져올 수 없습니다.
자세한 내용은 about_PSSnapins 및 about_Modules 참조하세요.
형식: | String[] |
별칭: | PSSnapin |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Prefix
가져온 명령의 이름에 명사 접두사를 지정합니다.
세션의 다른 명령 이름이 같은 경우 발생할 수 있는 이름 충돌을 방지하려면 이 매개 변수를 사용합니다.
예를 들어 원격 접두사를 지정한 다음 cmdlet을 가져오는 경우 이 cmdlet은 세션에서 Get-RemoteDate
알려져 있으며 원래 Get-Date
cmdlet과 혼동되지 않습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Session
cmdlet을 가져올 PSSession 을 지정합니다. 세션 개체 또는 명령과 같은 세션 개체를 가져오는 명령이 포함된 변수를 New-PSSession
Get-PSSession
입력합니다. 세션은 하나만 지정할 수 있습니다. 이 매개 변수는 필수입니다.
형식: | PSSession |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
이 cmdlet은 cmdlet이 Get-Module
반환하는 New-Module
것과 동일한 모듈 개체를 반환합니다.
그러나 가져온 모듈은 임시이며 현재 세션에만 존재합니다. 디스크에 영구 모듈을 만들려면 cmdlet을 Export-PSSession
사용합니다.
참고
Import-PSSession
는 PowerShell 원격 인프라를 사용합니다. 이 cmdlet을 사용하려면 WS 관리 원격에 대해 컴퓨터를 구성해야 합니다. 자세한 내용은 about_Remote 및 about_Remote_Requirements 참조하세요.Import-PSSession
는 변수 또는 PowerShell 공급자를 가져오지 않습니다.- 현재 세션의 명령과 이름이 같은 명령을 가져올 때 가져온 명령은 세션에서 별칭, 함수 및 cmdlet을 숨길 수 있으며 세션의 함수와 변수를 바꿀 수 있습니다. 이름 충돌을 방지하려면 접두사 매개 변수를 사용합니다. 자세한 내용은 about_Command_Precedence를 참조하세요.
Import-PSSession
는 모든 명령을 가져오기 전에 함수로 변환합니다. 따라서 가져온 명령은 원래 명령 형식을 유지한 경우와 약간 다르게 동작합니다. 예를 들어 PSSession에서 cmdlet을 가져온 다음 모듈 또는 스냅인에서 같은 이름의 cmdlet을 가져오는 경우 함수가 cmdlet보다 우선적으로 적용되기 때문에 항상 PSSession에서 가져온 cmdlet이 기본적으로 실행됩니다. 반대로 별칭을 같은 이름의 별칭이 있는 세션으로 가져오는 경우 별칭이 함수보다 우선하기 때문에 원래 별칭이 항상 사용됩니다. 자세한 내용은 about_Command_Precedence를 참조하세요.Import-PSSession
는Write-Progress
cmdlet을 사용하여 명령의 진행률을 표시합니다. 명령이 실행되는 동안 진행률 표시줄을 확인할 수 있습니다.- 가져올
Import-PSSession
명령을 찾으려면 cmdlet을Invoke-Command
사용하여 PSSession에서 명령을 실행Get-Command
합니다. 명령에 대한 서식 데이터를 가져오기 위해 cmdlet을Get-FormatData
사용합니다. 명령을 실행할Import-PSSession
때 이러한 cmdlet에서 오류 메시지가 표시될 수 있습니다.Import-PSSession
또한 ,Get-FormatData
및Select-Object
Get-Help
cmdlet을 포함하지Get-Command
않는 PSSession에서 명령을 가져올 수 없습니다. - 가져온 명령은 메모장과 같은 사용자 인터페이스로 프로그램을 시작할 수 없음을 포함하여 다른 원격 명령과 동일한 제한 사항이 있습니다.
- Windows PowerShell 프로필은 PSSessions에서 실행되지 않으므로 프로필이 세션에 추가하는 명령을 사용할 수
Import-PSSession
없습니다. 프로필에서 명령을 가져오려면 명령을 가져오기 전에 명령을 사용하여Invoke-Command
PSSession에서 프로필을 수동으로 실행합니다. - 만드는 임시 모듈
Import-PSSession
에는 명령이 서식 데이터를 가져오지 않더라도 서식 파일이 포함될 수 있습니다. 명령이 서식 데이터를 가져오지 않으면 생성된 서식 파일에는 서식 데이터가 포함되지 않습니다. - 사용
Import-PSSession
하려면 만드는 임시 모듈Import-PSSession
에 이러한 정책에 의해 금지된 서명되지 않은 스크립트 파일이 포함되어 있으므로 현재 세션의 실행 정책은 제한되거나 AllSigned일 수 없습니다. 로컬 컴퓨터에 대한 실행 정책을 변경하지 않고 사용Import-PSSession
하려면 Scope 매개 변수Set-ExecutionPolicy
를 사용하여 단일 프로세스에 대해 덜 제한적인 실행 정책을 설정합니다. - Windows PowerShell 2.0에서 다른 세션에서 가져온 명령에 대한 도움말 항목에는 접두사 매개 변수를 사용하여 할당한 접두사는 포함되지 않습니다. Windows PowerShell 2.0에서 가져온 명령에 대한 도움말을 보려면 원래(접두사가 아닌) 명령 이름을 사용합니다.
관련 링크
PowerShell