まず、
[⊞ (Windows Logo Key)]powershell[CTRL]+[SHIFT]+[ENTER]
で管理者モードで PowerShell を起動
あとは、例えば、ファイル名が "explorer.exe" のファイルやファイルサイズが 4624880 のファイルを見つけたいなら以下のようにする。
[⊞ (Windows Logo Key)]powershell[CTRL]+[SHIFT]+[ENTER]
で管理者モードで PowerShell を起動
あとは、例えば、ファイル名が "explorer.exe" のファイルやファイルサイズが 4624880 のファイルを見つけたいなら以下のようにする。
cd C:\ Get-ChildItem -Recurse |% { if ( $_.Name -eq "explorer.exe" ) { echo $_ } } Get-ChildItem -Recurse |% { if ( $_.Length -eq 4624880 ) { echo $_ } }
デフォルトでシンボリックリンクは追わない(-FollowSymlink オプションで追うようになる)ようなのだが、
ジャンクションは常に追う設定になっており追わない設定が出来ないようなので
ジャンクションにループがあると無限ループするようだ。
Visual Studio Cod # 2018-04-12: Cygwin git の利用で、vscode から cygwin の git 使うために
C:\cygdrive\c に C:\ へのジャンクションを作っていた環境ではこの問題が生じた。
ジャンクションは常に追う設定になっており追わない設定が出来ないようなので
ジャンクションにループがあると無限ループするようだ。
Visual Studio Cod # 2018-04-12: Cygwin git の利用で、vscode から cygwin の git 使うために
C:\cygdrive\c に C:\ へのジャンクションを作っていた環境ではこの問題が生じた。
管理者権限で PowerShell を走らせているのに、一部のシステムフォルダで PermissionDenied が発生する
例えば以下の場所
例えば CSC については explorer.exe でも
「セキュリティ タブ」から「詳細設定」を開いてみても「所有者」の欄が「現在の所有者を表示できません。」となっている。
所有者の変更とかすると、後々トラブりそうなので、ここは無理にアクセスしない方が良い気が。
例えば以下の場所
Get-ChildItem : パス 'C:\Windows\CSC' へのアクセスが拒否されました。 発生場所 行:1 文字:1 + Get-ChildItem -Recurse C:\Windows |% { if ( $_.Length -eq 4624880 ) { ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (C:\Windows\CSC:String) [Get-ChildItem], UnauthorizedAccessException + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand Get-ChildItem : パス 'C:\Windows\System32\LogFiles\WMI\RtBackup' へのアクセスが拒否されました。 発生場所 行:1 文字:1 + Get-ChildItem -Recurse C:\Windows |% { if ( $_.Length -eq 4624880 ) { ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (C:\Windows\Syst...es\WMI\RtBackup:String) [Get-ChildItem], Unauthoriz edAccessException + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand
例えば CSC については explorer.exe でも
このフォルダにアクセスする許可がありませんと出る。「継続」を押しても
[継続]をクリックすると、このフォルダーへの永続的なアクセスと取得します。
このフォルダーへアクセスするアクセス許可が拒否されています。と言われる。
ここフォルダーへのアクセスを取得するには セキュリティ タブ を使用する必要があります。
「セキュリティ タブ」から「詳細設定」を開いてみても「所有者」の欄が「現在の所有者を表示できません。」となっている。
所有者の変更とかすると、後々トラブりそうなので、ここは無理にアクセスしない方が良い気が。
- PowerShell
- Microsoft / Docs / PowerShell / スクリプトの作成 / Reference / Microsoft.PowerShell.Management / Get-ChildItem
もっといい書き方があった。
タグ
コメントをかく