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>]
説明
Get-Item コマンドレットは、指定した場所にある項目を取得します。 ワイルドカード文字 (*) を使用して項目のすべての内容を要求しない限り、その場所にある項目の内容は取得されません。
このコマンドレットは、さまざまな種類のデータ ストア間を移動するために 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 では、従来の *ではなく、1 つのアスタリスク (*.*) を使用してコンテンツを取得します。 形式はリテラルで解釈されるため、*.* はドットなしでディレクトリやファイル名を取得しません。
例 5: 指定したディレクトリ内のプロパティを取得する
この例では、 ディレクトリの 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 プロパティは、l の la--- によってハードリンクを識別します。
例 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 システムで表されるファイルまたはディレクトリのサイズです
注
この機能は、PowerShell 7.1 で試験段階からメインストリームに移行されました。
パラメーター
-CodeSigningCert
これは、Certificate プロバイダーによって使用できる動的パラメーターです。 このパラメーターと Certificate プロバイダーは、Windows でのみ使用できます。
Code Signing を EnhancedKeyUsageList プロパティ値に持つ証明書を取得するには、CodeSigningCert パラメーターを使用します。
詳細については、about_Certificate_Providerを参照してください。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Credential
注
このパラメーターは、PowerShell でインストールされているプロバイダーではサポートされていません。 別のユーザーを偽装したり、このコマンドレットの実行時に資格情報を昇格したりするには、Invoke-Commandを使用します。
パラメーターのプロパティ
| 型: | PSCredential |
| 規定値: | Current user |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-DnsName
これは、Certificate プロバイダーによって使用できる動的パラメーターです。 このパラメーターと Certificate プロバイダーは、Windows でのみ使用できます。
コマンドレットが取得する証明書の DNSNameList プロパティと一致するドメイン名または名前パターンを指定します。 このパラメーターの値は、Unicode または ASCIIにすることができます。 Punycode 値は Unicode に変換されます。 ワイルドカード文字 (*) を使用できます。
このパラメーターは PowerShell 7.1 で再導入されました
詳細については、about_Certificate_Providerを参照してください。
パラメーターのプロパティ
| 型: | DnsNameRepresentation |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-DocumentEncryptionCert
これは、Certificate プロバイダーによって使用できる動的パラメーターです。 このパラメーターと Certificate プロバイダーは、Windows でのみ使用できます。
Document Encryption プロパティ値に がある証明書を取得するには、DocumentEncryptionCert パラメーターを使用します。
詳細については、about_Certificate_Providerを参照してください。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Eku
これは、Certificate プロバイダーによって使用できる動的パラメーターです。 このパラメーターと Certificate プロバイダーは、Windows でのみ使用できます。
コマンドレットが取得する証明書の EnhancedKeyUsageList プロパティと一致するテキストまたはテキスト パターンを指定します。 ワイルドカード文字 (*) を使用できます。
EnhancedKeyUsageList プロパティには、EKU のフレンドリ名と OID フィールドが含まれます。
このパラメーターは PowerShell 7.1 で再導入されました
詳細については、about_Certificate_Providerを参照してください。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Exclude
文字列配列として、このコマンドレットが操作で除外する項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。
Exclude パラメーターは、コマンドに項目の内容 (C:\Windows\*など) が含まれている場合にのみ有効です。ワイルドカード文字は、C:\Windows ディレクトリの内容を指定します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-ExpiringInDays
これは、Certificate プロバイダーによって使用できる動的パラメーターです。 このパラメーターと Certificate プロバイダーは、Windows でのみ使用できます。
コマンドレットは、指定した日数以前に期限切れになっている証明書のみを返すように指定します。 値 0 (0) は、有効期限が切れた証明書を取得します。
このパラメーターは PowerShell 7.1 で再導入されました
詳細については、about_Certificate_Providerを参照してください。
パラメーターのプロパティ
| 型: | Int32 |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Filter
Path パラメーターを修飾するフィルターを指定します。
FileSystem プロバイダーは、フィルターをサポートする唯一のインストール済み PowerShell プロバイダーです。 フィルターは、他のパラメーターよりも効率的です。 プロバイダーは、取得後に PowerShell でオブジェクトをフィルター処理するのではなく、コマンドレットがオブジェクトを取得するときにフィルターを適用します。 ファイルを列挙するために、フィルター文字列が .NET API に渡されます。 この API では、ワイルドカードの * と ? のみがサポートされます。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Force
このコマンドレットが、非表示の項目など、アクセスできない項目を取得することを示します。 実装はプロバイダーによって異なります。 詳細については、about_Providersを参照してください。 Force パラメーターを使用しても、コマンドレットはセキュリティ制限をオーバーライドできません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Include
文字列配列として、このコマンドレットが操作に含める項目を指定します。 このパラメーターの値は、Path パラメーターを修飾します。 パス要素またはパターン (*.txtなど) を入力します。 ワイルドカード文字を使用できます。
Include パラメーターは、コマンドに項目の内容 (ワイルドカード文字が C:\Windows\* ディレクトリの内容を指定する C:\Windowsなど) が含まれている場合にのみ有効です。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-LiteralPath
1 つ以上の場所へのパスを指定します。 LiteralPath の値は、入力されたとおりにそのまま使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
詳細については、about_Quoting_Rulesを参照してください。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | PSPath, LP |
パラメーター セット
LiteralPath
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-Path
項目へのパスを指定します。 このコマンドレットは、指定した場所にある項目を取得します。 ワイルドカード文字を使用できます。 このパラメーターは必須ですが、Path パラメーター名は省略可能です。
現在の場所を指定するには、ドット (.) を使用します。 現在の場所のすべての項目を指定するには、ワイルドカード文字 (*) を使用します。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
Path
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-SSLServerAuthentication
これは、Certificate プロバイダーによって使用できる動的パラメーターです。 このパラメーターと Certificate プロバイダーは、Windows でのみ使用できます。
Server Authentication が EnhancedKeyUsageList プロパティ値に含まれる証明書を取得するには、SSLServerAuthentication パラメーターを使用します。
詳細については、about_Certificate_Providerを参照してください。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Stream
これは、FileSystem プロバイダーによって使用できる動的パラメーターです。 このパラメーターは Windows でのみ使用できます。
指定した代替データ ストリームをファイルから取得します。 ストリーム名を入力します。 ワイルドカードがサポートされています。 すべてのストリームを取得するには、アスタリスク (*) を使用します。 このパラメーターはディレクトリで有効ですが、ディレクトリには既定でデータ ストリームが含まれていないことに注意してください。
このパラメーターは PowerShell 3.0 で導入されました。 PowerShell 7.2 の時点で、Get-Item はディレクトリとファイルから代替データ ストリームを取得できます。
詳細については、about_FileSystem_Providerを参照してください。
パラメーターのプロパティ
| 型: | String[] |
| 規定値: | No alternate file streams |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
String
このコマンドレットへのパスを含む文字列をパイプ処理できます。
出力
AliasInfo
コマンドレットは、Alias: ドライブにアクセスするときにこの種類を出力します。
X509StoreLocation
X509Store
X509Certificate2
コマンドレットは、Cert: ドライブにアクセスするときにこれらの型を出力します。
DictionaryEntry
コマンドレットは、Env: ドライブにアクセスするときにこの種類を出力します。
DirectoryInfo
FileInfo
このコマンドレットは、FileSystem ドライブにアクセスするときにこれらの種類を出力します。
FunctionInfo
FilterInfo
コマンドレットは、Function: ドライブにアクセスするときにこれらの型を出力します。
RegistryKey
このコマンドレットは、レジストリ ドライブにアクセスするときにこの種類を出力します。
PSVariable
コマンドレットは、Variable: ドライブにアクセスするときにこの種類を出力します。
WSManConfigContainerElement
WSManConfigLeafElement
コマンドレットは、WSMan: ドライブにアクセスするときにこれらの型を出力します。
メモ
PowerShell には、Get-Itemの次のエイリアスが含まれています。
- すべてのプラットフォーム:
gi
このコマンドレットは、Recurse パラメーターを持っていません。これは、その内容ではなく項目のみを取得するためです。
項目の内容を再帰的に取得するには、Get-ChildItemを使用します。
レジストリ内を移動するには、このコマンドレットを使用してレジストリ キーを取得し、レジストリ値とデータを取得する Get-ItemProperty を取得します。 レジストリ値は、レジストリ キーのプロパティと見なされます。
このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider」と入力します。 詳細については、about_Providersを参照してください。