测试路径/System.IO.Directory::Exists 未按预期工作
我在使用 Powershell CmdLet 测试路径时遇到问题。
我在服务器上创建了共享 (\\Servername\MyShare$),它允许一组用户仅创建文件并附加数据,而其他用户只能读取和删除这些文件。第一组不允许执行任何其他操作,包括读取权限、读取属性等。
如果我作为“仅删除文件”组的成员对此文件夹执行测试路径,则会返回 false。甚至 [System.IO.Directory]::Exists()
也会返回 false。
我正在寻找一种方法来测试目录是否存在,而不需要具有读取权限或读取属性权限。有什么想法吗?
这是这两种方法的正确行为吗?
问候, 团队
I'm having trouble using the Powershell CmdLet Test-Path.
I created a Share on a Server (\\Servername\MyShare$), which allows one Group of users to just create a file and append data, while others users can just read and delete these files. The first group is not allowed to do anything else, including Read-Permissions, Read-Attributes and so on.
If I do a Test-Path on this folder as member of the "drop files only" group, it returns false. Even [System.IO.Directory]::Exists()
returns false.
I am searching for a way to test if a directory exists without the need to have Read-Permissions or Read-Attributes rights. Any ideas?
Is this the correct behaviour of those two methods?
Regards,
teamoo
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,如果没有人愿意冒险......
这是一个解决方案:
我不允许访问目录
.\f1\f2
和.\f1\f3
确实不存在。因此,如果您在
Get-Item
之后测试$Error[0].exception.gettype()
,您就可以理解为什么它不可访问,以及它是否存在。你可以称之为“拼凑”,但这也是一种解决方案。抱歉示例中的法语。Ok, if nobody want to venture ...
Here is a solution :
I'am not allowed to access to directory
.\f1\f2
and.\f1\f3
does not exists.So if you test
$Error[0].exception.gettype()
after theGet-Item
you can understand why it's not accessible, so if it exists or not. You can call that "bricolage", but it's also a solution. Sorry for the french in the example.