Test-Path / System.IO.目录::不存在,不能正常工作



我在使用Powershell CmdLet测试路径时遇到了问题。

我在服务器上创建了一个共享(\ServernameMyShare$),它允许一组用户创建文件并附加数据,而其他用户可以读取和删除这些文件。第一个组不允许执行任何其他操作,包括Read-Permissions, Read-Attributes等。

如果我在这个文件夹上做一个Test-Path作为"drop files only"组的成员,它返回false。即使[System.IO.Directory]::Exists()返回false

我正在寻找一种方法来测试一个目录是否存在,而不需要有读取权限或读取属性的权利。什么好主意吗?

这是这两个方法的正确行为吗?

问候,teamoo

好吧,如果没人想冒险…

这是一个解决方案:

我不允许访问目录.f1f2.f1f3不存在。

PS C:Silogix> Get-ChildItem .f1f2 -ErrorAction silentlycontinue
PS C:Silogix> $Error[0].exception
L'accès au chemin d'accès 'C:Silogixf1f2' est refusé.
PS C:TempTemp> $Error[0].exception.gettype()
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     UnauthorizedAccessException              System.SystemException
PS C:Silogix> Get-ChildItem .f1f3 -ErrorAction silentlycontinue
PS C:Silogix> $Error[0].exception.gettype()
IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     ItemNotFoundException

因此,如果您在Get-Item之后测试$Error[0].exception.gettype(),您可以理解为什么它不可访问,所以它是否存在。你可以称之为"拼凑",但这也是一种解决方案。抱歉示例中的法语

相关内容

  • 没有找到相关文章

最新更新