Get-Item
지정된 위치에 있는 항목을 가져옵니다.
구문
Path (Default) - FileSystem provider
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-Stream <string[]>]
[<CommonParameters>]
LiteralPath - FileSystem provider
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-Stream <string[]>]
[<CommonParameters>]
Path (Default) - Certificate provider
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
LiteralPath - Certificate provider
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-CodeSigningCert]
[-DocumentEncryptionCert]
[-SSLServerAuthentication]
[-DnsName <string>]
[-Eku <string[]>]
[-ExpiringInDays <int>]
[<CommonParameters>]
Path (Default) - All providers
Get-Item
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[<CommonParameters>]
LiteralPath - All providers
Get-Item
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[<CommonParameters>]
Description
Get-Item cmdlet은 지정된 위치에 있는 항목을 가져옵니다. 와일드카드 문자(*)를 사용하여 항목의 모든 내용을 요청하지 않는 한 해당 위치에서 항목의 내용을 가져올 수 없습니다.
이 cmdlet은 PowerShell 공급자가 다양한 유형의 데이터 저장소를 탐색하는 데 사용됩니다.
예제
예제 1: 현재 디렉터리 가져오기
이 예제에서는 현재 디렉터리를 가져옵니다. 점('.')은 현재 위치에 있는 항목을 나타냅니다(내용이 아님).
Get-Item .
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 10:01 AM ps-test
예제 2: 현재 디렉터리의 모든 항목 가져오기
이 예제에서는 현재 디렉터리의 모든 항목을 가져옵니다. 와일드카드 문자(*)는 현재 항목의 모든 내용을 나타냅니다.
Get-Item *
Directory: C:\ps-test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2006 9:29 AM Logs
d---- 7/26/2006 9:26 AM Recs
-a--- 7/26/2006 9:28 AM 80 date.csv
-a--- 7/26/2006 10:01 AM 30 filenoext
-a--- 7/26/2006 9:30 AM 11472 process.doc
-a--- 7/14/2006 10:47 AM 30 test.txt
예제 3: 드라이브의 현재 디렉터리 가져오기
이 예제에서는 C: 드라이브의 현재 디렉터리를 가져옵니다. 검색되는 개체는 해당 내용이 아닌 디렉터리만 나타냅니다.
Get-Item C:
예제 4: 지정된 드라이브의 항목 가져오기
이 예제에서는 C: 드라이브의 항목을 가져옵니다. 와일드카드 문자(*)는 컨테이너뿐만 아니라 컨테이너의 모든 항목을 나타냅니다.
Get-Item C:\*
PowerShell에서 기존의 *대신 단일 별표(*.*)를 사용하여 콘텐츠를 가져옵니다. 형식은 문자 그대로 해석되므로 *.* 점 없이 디렉터리 또는 파일 이름을 검색하지 않습니다.
예제 5: 지정된 디렉터리에서 속성 가져오기
이 예제에서는 디렉터리의 C:\Windows 속성을 가져옵니다.
LastAccessTime 파일 시스템 디렉터리 중 하나의 속성에 불과합니다. 디렉터리의 모든 속성을 보려면 (Get-Item <directory-name>) | Get-Member입력합니다.
(Get-Item C:\Windows).LastAccessTime
예제 6: 레지스트리 키의 내용 표시
이 예제에서는 Microsoft.PowerShell 레지스트리 키의 내용을 보여 줍니다. 이 cmdlet을 PowerShell 레지스트리 공급자와 함께 사용하여 레지스트리 키 및 하위 키를 가져올 수 있지만 Get-ItemProperty cmdlet을 사용하여 레지스트리 값과 데이터를 가져와야 합니다.
Get-Item HKLM:\Software\Microsoft\PowerShell\1\Shellids\Microsoft.PowerShell\
예제 7: 제외가 있는 디렉터리의 항목 가져오기
이 예제에서는 점(.)을 포함하지만 w*시작하지 않는 이름으로 Windows 디렉터리의 항목을 가져옵니다. 이 예제는 경로에 와일드카드 문자(*)가 포함되어 항목의 내용을 지정하는 경우에만 작동합니다.
Get-Item C:\Windows\*.* -Exclude "w*"
예제 8: 하드링크 정보 가져오기
PowerShell 6.2에서는 하드링크 정보를 가져오기 위해 대체 보기가 추가되었습니다. 하드링크 정보를 얻으려면 출력을 Format-Table -View childrenWithHardlink으로 전달합니다.
Get-Item C:\Windows\System32\ntoskrnl.exe |
Format-Table -View childrenWithHardLink
Directory: C:\Windows\System32
Mode LastWriteTime Length Name
---- ------------- ------ ----
la--- 5/12/2021 7:40 AM 10848576 ntoskrnl.exe
Mode 속성은 l의 la---에 의해 하드링크를 식별합니다.
예제 9: Windows가 아닌 운영 체제에 대한 출력
Unix 시스템의 PowerShell 7.1에서 Get-Item cmdlet은 Unix와 유사한 출력을 제공합니다.
PS> Get-Item /Users
Directory: /
UnixMode User Group LastWriteTime Size Name
-------- ---- ----- ------------- ---- ----
drwxr-xr-x root admin 12/20/2019 11:46 192 Users
이제 출력의 일부인 새 속성은 다음과 같습니다.
- UnixMode Unix 시스템에 표시되는 파일 권한입니다.
- 사용자 파일 소유자입니다.
- 그룹 그룹 소유자입니다.
- 크기 Unix 시스템에 표시되는 파일 또는 디렉터리의 크기입니다.
비고
이 기능은 PowerShell 7.1에서 실험적에서 주류로 이동되었습니다.
매개 변수
-CodeSigningCert
인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.
Code Signing 속성 값에 인증서를 얻으려면 CodeSigningCert 매개 변수를 사용합니다.
자세한 내용은 about_Certificate_Provider를 참조하세요.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Credential
비고
이 매개 변수는 PowerShell과 함께 설치된 공급자에서 지원되지 않습니다. 다른 사용자를 가장하거나 이 cmdlet을 실행할 때 자격 증명을 높이려면 Invoke-Command사용합니다.
매개 변수 속성
| 형식: | PSCredential |
| Default value: | Current user |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-DnsName
인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.
cmdlet이 가져오는 인증서의 DNSNameList 속성과 일치하도록 도메인 이름 또는 이름 패턴을 지정합니다. 이 매개 변수의 값은 Unicode 또는 ASCII수 있습니다. Punycode 값은 유니코드로 변환됩니다. 와일드카드 문자(*)가 허용됩니다.
이 매개 변수는 PowerShell 7.1에서 다시 도입되었습니다.
자세한 내용은 about_Certificate_Provider를 참조하세요.
매개 변수 속성
| 형식: | DnsNameRepresentation |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-DocumentEncryptionCert
인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.
Document Encryption 속성 값에 인증서를 얻으려면 DocumentEncryptionCert 매개 변수를 사용합니다.
자세한 내용은 about_Certificate_Provider를 참조하세요.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Eku
인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.
cmdlet이 가져오는 인증서의 EnhancedKeyUsageList 속성과 일치하도록 텍스트 또는 텍스트 패턴을 지정합니다. 와일드카드 문자(*)가 허용됩니다.
EnhancedKeyUsageList 속성에는 EKU의 친숙한 이름과 OID 필드가 포함됩니다.
이 매개 변수는 PowerShell 7.1에서 다시 도입되었습니다.
자세한 내용은 about_Certificate_Provider를 참조하세요.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Exclude
문자열 배열로 이 cmdlet이 작업에서 제외하는 항목 또는 항목을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt)을 입력합니다. 와일드카드 문자가 허용됩니다.
Exclude 매개 변수는 와일드카드 문자가 C:\Windows\* 디렉터리의 내용을 지정하는 C:\Windows같은 항목의 내용을 명령에 포함하는 경우에만 유효합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-ExpiringInDays
인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.
cmdlet은 지정된 일 수 이내 또는 그 이전에 만료되는 인증서만 반환하도록 지정합니다. 0(0) 값은 만료된 인증서를 가져옵니다.
이 매개 변수는 PowerShell 7.1에서 다시 도입되었습니다.
자세한 내용은 about_Certificate_Provider를 참조하세요.
매개 변수 속성
| 형식: | Int32 |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Filter
Path 매개 변수를 한정할 필터를 지정합니다.
FileSystem 공급자는 필터를 지원하는 유일한 설치된 PowerShell 공급자입니다. 필터는 다른 매개 변수보다 더 효율적입니다. 제공자는 cmdlet이 개체를 가져올 때 필터를 적용하며, 이는 개체가 검색된 후 PowerShell이 필터링을 수행하는 것과 다릅니다. 필터 문자열은 파일을 열거하기 위해 .NET API에 전달됩니다. API는 * 및 ? 와일드카드만 지원합니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Force
이 cmdlet은 숨겨져 있거나 일반적으로 액세스할 수 없는 항목을 가져옵니다. 구현은 공급자마다 다릅니다. 추가 정보는 about_Providers를 참조하십시오. Force 매개 변수를 사용하는 경우에도 cmdlet은 보안 제한을 재정의할 수 없습니다.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | False |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Include
문자열 배열로 이 cmdlet이 작업에 포함하는 항목 또는 항목을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt)을 입력합니다. 와일드카드 문자가 허용됩니다.
Include 매개 변수는 커맨드가 와일드카드 문자를 사용하여 C:\Windows\* 디렉터리의 내용을 지정하는 C:\Windows와 같은 항목의 내용을 포함할 때에만 유효합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-LiteralPath
하나 이상의 위치에 대한 경로를 지정합니다. LiteralPath 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.
자세한 내용은 about_Quoting_Rules참조하세요.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | PSPath, Lp 로 |
매개 변수 집합
LiteralPath
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Path
항목의 경로를 지정합니다. 이 cmdlet은 지정된 위치에 있는 항목을 가져옵니다. 와일드카드 문자가 허용됩니다. 이 매개 변수는 필수이지만 경로 매개 변수 이름은 선택 사항입니다.
점(.)을 사용하여 현재 위치를 지정합니다. 와일드카드 문자(*)를 사용하여 현재 위치에 있는 모든 항목을 지정합니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
Path
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-SSLServerAuthentication
인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.
Server Authentication 속성 값에 인증서를 얻으려면 SSLServerAuthentication 매개 변수를 사용합니다.
자세한 내용은 about_Certificate_Provider를 참조하세요.
매개 변수 속성
| 형식: | SwitchParameter |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Stream
이 매개 변수는 FileSystem 공급자에서 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수는 Windows에서만 사용할 수 있습니다.
파일에서 지정된 대체 데이터 스트림을 가져옵니다. 스트림 이름을 입력합니다. 와일드카드가 지원됩니다. 모든 스트림을 얻으려면 별표(*)를 사용합니다. 이 매개 변수는 디렉터리에서 유효하지만 디렉터리에는 기본적으로 데이터 스트림이 없습니다.
이 매개 변수는 PowerShell 3.0에서 도입되었습니다. PowerShell 7.2부터 Get-Item 디렉터리 및 파일에서 대체 데이터 스트림을 가져올 수 있습니다.
자세한 내용은 about_FileSystem_Provider참조하세요.
매개 변수 속성
| 형식: | String[] |
| Default value: | No alternate file streams |
| 와일드카드 지원: | True |
| DontShow: | False |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
String
경로가 포함된 문자열을 이 cmdlet에 파이프할 수 있습니다.
출력
AliasInfo
cmdlet은 Alias: 드라이브에 액세스할 때 이 형식을 출력합니다.
X509StoreLocation
X509Store
X509Certificate2
cmdlet은 Cert: 드라이브에 액세스할 때 이러한 형식을 출력합니다.
DictionaryEntry
cmdlet은 Env: 드라이브에 액세스할 때 이 형식을 출력합니다.
DirectoryInfo
FileInfo
이 cmdlet은 FileSystem 드라이브에 액세스할 때 이러한 형식을 출력합니다.
FunctionInfo
FilterInfo
cmdlet은 Function: 드라이브에 액세스할 때 이러한 형식을 출력합니다.
RegistryKey
이 cmdlet은 레지스트리 드라이브에 액세스할 때 이 형식을 출력합니다.
PSVariable
cmdlet은 Variable: 드라이브에 액세스할 때 이 형식을 출력합니다.
WSManConfigContainerElement
WSManConfigLeafElement
cmdlet은 WSMan: 드라이브에 액세스할 때 이러한 형식을 출력합니다.
참고
PowerShell에는 Get-Item에 대한 다음과 같은 별칭들이 포함되어 있습니다.
- 모든 플랫폼:
gi
이 cmdlet에는 Recurse 매개 변수가 없습니다. 해당 내용이 아닌 항목만 가져오기 때문입니다.
항목의 내용을 재귀적으로 얻으려면 Get-ChildItem사용합니다.
레지스트리를 탐색하려면 이 cmdlet을 사용하여 레지스트리 키와 Get-ItemProperty 가져와 레지스트리 값과 데이터를 가져옵니다. 레지스트리 값은 레지스트리 키의 속성으로 간주됩니다.
이 cmdlet은 모든 공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 Get-PSProvider입력합니다. 추가 정보는 about_Providers를 참조하십시오.