Get-Item

指定された場所にある項目を取得します。

構文

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>]

説明

コマンドレットは Get-Item 、指定した場所にある項目を取得します。 項目のすべての内容を要求するためにワイルドカード文字 (*) を使用しない限り、その場所にある項目の内容は取得されません。

このコマンドレットは、さまざまな種類のデータ ストア間を移動するために PowerShell プロバイダーによって使用されます。 一部のパラメーターは、特定のプロバイダーでのみ使用できます。 詳細については、「about_Providers」を参照してください

例 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 では、従来*.*のアスタリスクではなく、1 つのアスタリスク (*) を使用してコンテンツを取得します。 形式はリテラルで解釈されるため *.* 、ドットのないディレクトリやファイル名は取得されません。

例 5: 指定したディレクトリ内のプロパティを取得する

この例では、ディレクトリの LastAccessTime プロパティを C:\Windows 取得します。 LastAccessTime は、ファイル システム ディレクトリの 1 つのプロパティにすぎません。 ディレクトリのすべてのプロパティを表示するには、「.」と入力します (Get-Item <directory-name>) | Get-Member

(Get-Item C:\Windows).LastAccessTime

例 6: レジストリ キーの内容を表示する

この例では、Microsoft.PowerShell レジストリ キーの内容を示します。 このコマンドレットを PowerShell レジストリ プロバイダーと共に使用してレジストリ キーとサブキーを取得できますが、レジストリ値とデータを取得するにはコマンドレットを使用 Get-ItemProperty する必要があります。

Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\

例 7: 除外があるディレクトリ内の項目を取得する

この例では、ドット (.) を含む名前を持つ Windows ディレクトリ内の項目を取得しますが、最初w*は .この例は、項目の内容を指定するために、パスにワイルドカード文字 (*) が含まれている場合にのみ機能します。

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、〘lla---

例 9: Windows 以外のオペレーティング システムの出力

Unix システム上の PowerShell 7.1 では、 Get-Item このコマンドレットは 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 システムで表されるファイルまたはディレクトリのサイズです

Note

この機能は、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

Note

このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Command を使用 します

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

-DnsName

これは、証明書プロバイダーによって使用できる動的パラメーターです。 このパラメーターと 証明書 プロバイダーは、Windows でのみ使用できます。

コマンドレットが取得する証明書の DNSNameList プロパティと一致する doメイン 名または名前のパターンを指定します。 このパラメーターの値には、次ASCIIのいずれかを指定Unicodeできます。 Punycode 値は Unicode に変換されます。 ワイルドカード文字 (*) を使用できます。

このパラメーターは 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 でのみ使用できます。

コマンドレットが取得する証明書の 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

文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターンを入力します (例 *.txt: . ワイルドカード文字を使用できます。 Exclude パラメーターは、コマンドに項目の内容 (wildカード 文字がディレクトリのC:\Windows内容を指定する場合C:\Windows\*など) が含まれている場合にのみ有効です。

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

-ExpiringInDays

これは、証明書プロバイダーによって使用できる動的パラメーターです。 このパラメーターと 証明書 プロバイダーは、Windows でのみ使用できます。

コマンドレットは、指定した日数以前に期限切れになっている証明書のみを返すように指定します。 値 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 プロバイダーです。 フィルターは、他のパラメーターよりも効率的です。 プロバイダーは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにフィルターを適用します。 ファイルを列挙するために、フィルター文字列が .NET API に渡されます。 API では、*サポートされるのがワイルドカード?のみです。

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

-Force

このコマンドレットが、非表示の項目など、アクセスできない項目を取得することを示します。 実装はプロバイダーごとに異なります。 詳細については、「about_Providers」を参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。

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

-Include

文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、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

1 つ以上の場所へのパスを指定します。 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

項目のパスを指定します。 このコマンドレットは、指定した場所にある項目を取得します。 ワイルドカード文字を使用できます。 このパラメーターは必須ですが、パラメーター名 Path は省略可能です。

現在の場所を指定するには、ドット (.) を使用します。 現在の場所のすべての項目を指定するには、wildカード 文字 (*) を使用します。

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

このコマンドレットへのパスを含む文字列をパイプ処理できます。

出力

AliasInfo

コマンドレットは、ドライブにアクセスするときにこの種類を Alias: 出力します。

X509StoreLocation

X509Store

X509Certificate2

コマンドレットは、ドライブにアクセスするときにこれらの種類を Cert: 出力します。

DictionaryEntry

コマンドレットは、ドライブにアクセスするときにこの種類を Env: 出力します。

DirectoryInfo

FileInfo

このコマンドレットは、ファイルシステム ドライブにアクセスするときにこれらの型を出力します。

FunctionInfo

FilterInfo

コマンドレットは、ドライブにアクセスするときにこれらの種類を Function: 出力します。

RegistryKey

このコマンドレットは、レジストリ ドライブにアクセスするときにこの種類を出力します。

PSVariable

コマンドレットは、ドライブにアクセスするときにこの種類を Variable: 出力します。

WSManConfigContainerElement

WSManConfigLeafElement

コマンドレットは、ドライブにアクセスするときにこれらの種類を WSMan: 出力します。

メモ

PowerShell には、次のエイリアスが Get-Item含まれています。

  • すべてのプラットフォーム:
    • gi

このコマンドレットは、内容ではなく項目のみを取得するため、Recurse パラメーターを持っていません。 項目の内容を再帰的に取得するには、次を使用 Get-ChildItemします。

レジストリ内を移動するには、このコマンドレットを使用してレジストリ キーを取得し、 Get-ItemProperty レジストリ値とデータを取得します。 レジストリ値はレジストリ キーのプロパティと見なされます。

このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「.」と入力します Get-PsProvider。 詳細については、「about_Providers」を参照してください