Windows 2008 无法执行 c'# powershell 应用程序。重新调整访问异常

Windows 2008 无法执行 c'# powershell 应用程序。重新调整访问异常

有人知道为什么我无法在 Windows 2008 Ent 中访问我的 powershell 脚本所在的文件夹吗?当我尝试使用 textpad 创建脚本时,它会出错。当我尝试执行存储在 win 2003 驱动器上的 c# powershell 应用程序时,它也会出错并出现访问异常。我已将 powershell 执行策略设置为对普通用户和管理员用户均不限制,但在 powershell 上“以管理员身份运行”,但这似乎没有什么区别。必须有一个策略设置,不允许脚本访问目录,但在哪里以及如何设置它。

任何帮助都将不胜感激
。scope_creep

答案1

发生这种情况的原因是因为继承的权限从另一个 NTFS 驱动器复制脚本。

答案2

您的执行策略可能设置得太严格。请参阅运行 Windows PowerShell 脚本

答案3

有人知道为什么我无法访问 Windows 2008 Ent 中保存我的 powershell 脚本的文件夹吗?

听起来楼主正在尝试通过网络共享访问文件(到 Windows 2003 服务器),但遇到了访问权限问题。到目前为止,我并不认为这是一个特定于 Powershell 的问题。

仔细检查共享上的权限(尝试将“所有人”设置为“完全控制”)。这不会赋予“所有人”完全控制权,它只是意味着如果用户拥有完全控制的 NTFS 权限,他们就可以使用它们。

然后仔细检查该文件夹的 NTFS 权限(属性/安全)(在文件夹实际所在的 Windows 2003 服务器上执行此操作)。确保您的用户对该文件夹具有完全控制权。

答案4

我们确实需要一些有关您所遇到的错误的精确细节 - “craps out”清楚地表示失败,但并不能真正帮助找出根本原因。

您的 C# 应用程序可能会遇到代码访问安全问题 - 除了其他人提到的 NTFS 访问权限之外,.NET 框架还强制执行 CAS 策略。您可以从中找到有关概念的更多详细信息微软在这里,一些示例代码项目在这里以及一些关于解决这个问题的方法的讨论这里. CAS 的一个常见问题是,当应用程序位于本地硬盘上时,执行没有问题,但当复制到网络共享并尝试从那里执行时,会失败。

相关内容