2017-08-30 6 views
0

UNCパスが存在するかどうかをテストしようとしていますが、これまでにすべての試行が失敗しています。 このフォルダの例が存在し、trueを返します:PowerShell Test-Pathワイルドカードを使用するUNC

\\Server\Path1 

私は似た名前を持つすべてのフォルダを確認したいのような、存在します。

\\Server\Path2 
\\Server\Path3 etc. 

私は」これらの例でワイルドカードを使用しようとしました:

test-path "\\Server\Path*" 
resolve-path "\\Server\Path*" 
[System.IO.Directory]::Exists('\\Server\Path*'); 
Test-Path $('filesystem::\\Server\Path*') 

... \ "*の組み合わせの多くの順列に沿って。 しかし、ワイルドカードを使用しているときに、このタイプのパスに「True」が返されることはありません。例えば、Test-Path c:\windows\system3*などの場合はうまくいくようです。あなたは、WMIのアクセス権を持っている場合は、その後、

Get-PSDrive| where{$_.DisplayRoot -like "\\server\test*" } | foreach{test-path -path $_.DisplayRoot} 

+0

をあなたのパスは、C $ \パス* ' –

+1

\' \\サーバーである必要があります【関連](https://stackoverflow.com/q/35068220/1630171)。 –

答えて

1

私は、Windowsは、共有名のワイルドカードの選択をサポートしていないと思います。

しかし、あなたは、ファイルサーバへの十分な(リモート)アクセス権を持っている場合は、共有のリストを取得することができます

Get-WmiObject -class 'Win32_Share' -ComputerName 'Server' 
+0

これは質問に非常に感謝しています。 完全性のために、これは 'Pathx'の存在を識別するために使用した行です。 'Get-WmiObject -class 'Win32_Share' -ComputerName 'Server' |ここでName -Like "* Path *" ' – ScriptMonkey

1

このスニペットは、マップされたUNCパスのために働くだろう

Get-WmiObject -Class Win32_Share -ComputerName server | where{$_.name -like "test*"} | foreach{Test-Path "\\server\$($_.name)"} 
関連する問題