有谁知道为什么我无法访问 Windows 2008 Ent 中我的 powershell 脚本所在的文件夹。当我尝试使用文本板创建脚本时,它会出错。当我尝试执行存储在 win 2003 驱动器上的 ac# powershell 应用程序时,它也会出现访问异常。我已将普通用户和管理员用户在 powershell 上“以管理员身份运行”的 powershell 执行策略设置为不受限制,但这似乎没有什么不同。必须有一个策略设置,不允许脚本访问目录,但是在哪里以及如何设置它。
任何帮助,将不胜感激。
scope_creep
您的执行策略可能设置得太严格了。请参阅运行 Windows PowerShell 脚本
发生这种情况的原因是从另一个 NTFS 驱动器复制脚本的继承权限。
听起来 OP 正在尝试通过网络共享(到 Windows 2003 服务器)访问文件,并且存在访问权限问题。到目前为止,我不认为这是一个特定于 Powershell 的问题。
仔细检查共享的权限(尝试将所有人设置为完全控制)。这不会给“每个人”完全控制权,它只是意味着如果用户拥有完全控制的 NTFS 权限,他们可以使用它们。
然后仔细检查该文件夹的 NTFS 权限(属性/安全)(在文件夹物理所在的 Windows 2003 服务器上执行此操作)。确保您的用户对其具有完全控制权。
我们确实需要有关您遇到的错误的一些精确细节 - “废话”清楚地表明失败,但并不能真正帮助确定根本原因。
您的 C# 应用程序可能会遇到代码访问安全问题 - 除了其他人提到的 NTFS 访问权限外,.NET 框架还强制执行 CAS 策略。您可以在此处找到有关Microsoft 概念的更多详细信息,在此处的代码项目中找到一些工作示例,并在此处找到有关解决此问题的方法的一些讨论。CAS 的一个常见问题是应用程序在位于本地硬盘驱动器上执行时没有问题,但在复制到网络共享并尝试从那里执行时失败。