Get-Item

지정된 위치에 있는 항목을 가져옵니다.

Syntax

Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-Stream <string[]>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-Stream <string[]>]
   [<CommonParameters>]
Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [-CodeSigningCert]
   [-DocumentEncryptionCert]
   [-SSLServerAuthentication]
   [-DnsName <string>]
   [-Eku <string[]>]
   [-ExpiringInDays <int>]
   [<CommonParameters>]
Get-Item
   [-Path] <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <string[]>
   [-Filter <string>]
   [-Include <string[]>]
   [-Exclude <string[]>]
   [-Force]
   [-Credential <pscredential>]
   [<CommonParameters>]

Description

cmdlet은 Get-Item 지정된 위치에 있는 항목을 가져옵니다. 카드 와일드 문자(*)를 사용하여 항목의 모든 내용을 요청하지 않는 한 해당 위치에서 항목의 내용을 가져올 수 없습니다.

이 cmdlet은 PowerShell 공급자가 다양한 유형의 데이터 저장소를 탐색하는 데 사용됩니다.

예제

예제 1: 현재 디렉터리 가져오기

이 예제에서는 현재 디렉터리를 가져옵니다. 점('.')은 현재 위치에 있는 항목을 나타냅니다(내용이 아님).

Get-Item .

Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006  10:01 AM            ps-test

예제 2: 현재 디렉터리의 모든 항목 가져오기

이 예제에서는 현재 디렉터리의 모든 항목을 가져옵니다. wild카드 문자(*)는 현재 항목의 모든 내용을 나타냅니다.

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: 가져옵니다. wild카드 문자(*)는 컨테이너뿐만 아니라 컨테이너의 모든 항목을 나타냅니다.

Get-Item C:\*

PowerShell에서 기존 *.*별표 대신 단일 별표(*)를 사용하여 콘텐츠를 가져옵니다. 형식은 리터럴로 해석되므로 *.* 점이 없는 디렉터리 또는 파일 이름을 검색하지 않습니다.

예제 5: 지정된 디렉터리에서 속성 가져오기

이 예제에서는 디렉터리의 LastAccessTime 속성을 C:\Windows 가져옵니다. LastAccessTime 은 파일 시스템 디렉터리 중 하나의 속성일 뿐입니다. 디렉터리의 모든 속성을 보려면 .를 입력합니다 (Get-Item <directory-name>) | Get-Member.

(Get-Item C:\Windows).LastAccessTime

예제 6: 레지스트리 키의 내용 표시

이 예제에서는 Microsoft.PowerShell 레지스트리 키의 내용을 보여 줍니다. PowerShell 레지스트리 공급자와 함께 이 cmdlet을 사용하여 레지스트리 키와 하위 키를 가져올 수 있지만, cmdlet을 사용하여 Get-ItemProperty 레지스트리 값과 데이터를 가져와야 합니다.

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 in으로 하드링크를 식별합니다 l . la---

예제 9: Windows가 아닌 운영 체제에 대한 출력

Unix 시스템의 Get-Item PowerShell 7.1에서 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에서만 사용할 수 있습니다.

EnhancedKeyUsageList 속성 값에 있는 Code Signing 인증서를 얻으려면 CodeSigningCert 매개 변수를 사용합니다.

자세한 내용은 about_Certificate_Provider 참조하세요.

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

-Credential

참고 항목

이 매개 변수는 PowerShell과 함께 설치된 공급자에서 지원되지 않습니다. 다른 사용자를 가장하거나 이 cmdlet을 실행할 때 자격 증명을 높이려면 Invoke-Command를 사용합니다.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DnsName

인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.

cmdlet이 가져오는 인증서의 DNSNameList 속성과 일치하도록 할기본 이름 또는 이름 패턴을 지정합니다. 이 매개 변수의 값은 다음과 같습니다 UnicodeASCII. Punycode 값은 유니코드로 변환됩니다. 와일드카드 문자(*)가 허용됩니다.

이 매개 변수는 PowerShell 7.1에서 다시 도입되었습니다.

자세한 내용은 about_Certificate_Provider 참조하세요.

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

-DocumentEncryptionCert

인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.

EnhancedKeyUsageList 속성 값에 있는 Document Encryption 인증서를 얻으려면 DocumentEncryptionCert 매개 변수를 사용합니다.

자세한 내용은 about_Certificate_Provider 참조하세요.

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

-Eku

인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.

cmdlet이 가져오는 인증서의 EnhancedKeyUsageList 속성과 일치하도록 텍스트 또는 텍스트 패턴을 지정합니다. 와일드카드 문자(*)가 허용됩니다. EnhancedKeyUsageList 속성에는 EKU의 이름 및 OID 필드가 포함됩니다.

이 매개 변수는 PowerShell 7.1에서 다시 도입되었습니다.

자세한 내용은 about_Certificate_Provider 참조하세요.

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

-Exclude

문자열 배열로 이 cmdlet이 작업에서 제외하는 항목 또는 항목을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. Exclude 매개 변수는 명령에 항목의 내용(예: C:\Windows\*wild카드 문자가 디렉터리의 내용을 지정하는 경우에만 유효합니다C:\Windows.

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

-ExpiringInDays

인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.

cmdlet은 지정된 일 수 또는 그 이전에 만료되는 인증서만 반환해야 하며, 값 0(0)은 만료된 인증서를 가져옵니다.

이 매개 변수는 PowerShell 7.1에서 다시 도입되었습니다.

자세한 내용은 about_Certificate_Provider 참조하세요.

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

-Filter

Path 매개 변수를 한정할 필터를 지정합니다. FileSystem 공급자는 필터를 지원하는 유일한 설치된 PowerShell 공급자입니다. 필터는 다른 매개 변수보다 더 효율적입니다. 공급자는 cmdlet이 검색된 후 PowerShell이 개체를 필터링하지 않고 개체를 가져올 때 필터를 적용합니다. 필터 문자열은 파일을 열거하기 위해 .NET API에 전달됩니다. API는 지원 *? 야생 카드.

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

-Force

이 cmdlet은 숨겨진 항목과 같이 액세스할 수 없는 항목을 가져옵니다. 구현은 공급자마다 다릅니다. 자세한 내용은 about_Providers 참조하세요. Force 매개 변수를 사용하더라도 cmdlet은 보안 제한을 재정의할 수 없습니다.

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

-Include

문자열 배열로 이 cmdlet이 작업에 포함하는 항목 또는 항목을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. Include 매개 변수는 명령에 항목의 내용(예: C:\Windows\*wild카드 문자가 디렉터리의 내용을 지정하는 경우에만 유효합니다C:\Windows.

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

-LiteralPath

하나 이상의 위치에 대한 경로를 지정합니다. LiteralPath값은 입력된 대로 정확하게 사용됩니다. 어떤 문자도 야생으로 해석되지 카드. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

자세한 내용은 about_Quoting_Rules 참조하세요.

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

-Path

항목의 경로를 지정합니다. 이 cmdlet은 지정된 위치에 있는 항목을 가져옵니다. 와일드카드 문자를 사용할 수 있습니다. 이 매개 변수는 필수이지만 매개 변수 이름 경로 는 선택 사항입니다.

점(.)을 사용하여 현재 위치를 지정합니다. 와일드카드 문자(*)를 사용하여 현재 위치에 있는 모든 항목을 지정합니다.

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

-SSLServerAuthentication

인증서 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수 및 인증서 공급자는 Windows에서만 사용할 수 있습니다.

EnhancedKeyUsageList 속성 값에 있는 Server Authentication 인증서를 얻으려면 SSLServerAuthentication 매개 변수를 사용합니다.

자세한 내용은 about_Certificate_Provider 참조하세요.

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

-Stream

FileSystem 공급자가 사용할 수 있는 동적 매개 변수입니다. 이 매개 변수는 Windows에서만 사용할 수 있습니다.

파일에서 지정된 대체 데이터 스트림을 가져옵니다. 스트림 이름을 입력합니다. 와일드카드가 지원됩니다. 모든 스트림을 얻으려면 별표(*)를 사용합니다. 이 매개 변수는 디렉터리에서 유효하지만 디렉터리에는 기본적으로 데이터 스트림이 없습니다.

이 매개 변수는 PowerShell 3.0에서 도입되었습니다. PowerShell 7.2 Get-Item 부터 디렉터리 및 파일에서 대체 데이터 스트림을 가져올 수 있습니다.

자세한 내용은 about_FileSystem_Provider 참조하세요.

Type:String[]
Position:Named
Default value:No alternate file streams
Required:False
Accept pipeline input:False
Accept wildcard characters:True

입력

String

이 cmdlet에 대한 경로가 포함된 문자열을 파이프할 수 있습니다.

출력

AliasInfo

cmdlet은 드라이브에 액세스할 때 이 형식을 출력합니다 Alias: .

X509StoreLocation

X509Store

X509Certificate2

이 cmdlet은 드라이브에 액세스할 때 이러한 형식을 Cert: 출력합니다.

DictionaryEntry

cmdlet은 드라이브에 액세스할 때 이 형식을 출력합니다 Env: .

DirectoryInfo

FileInfo

이 cmdlet은 파일 시스템 드라이브에 액세스할 때 이러한 형식을 출력합니다.

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 참조하세요.