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

有谁知道我为什么不能访问我的PowerShell脚本在Windows 2008 Ent中的文件夹。 当我尝试创build一个带有文本的脚本时, 当我尝试执行存储在win 2003驱动器上的ac#powershell应用程序时,也会遇到访问exception。 我已经设置了PowerShell的执行策略,使其不受普通用户和pipe理员用户的限制,在PowerShell中以“pipe理员身份运行”,但似乎没有什么区别。 必须有策略设置,不允许脚本访问目录,但是在哪里以及如何设置它。

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

这是因为从另一个NTFS驱动器复制脚本的inheritance权限。

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

有谁知道为什么我不能访问我的PowerShell脚本在Windows 2008 Ent中的文件夹?

这听起来像OP试图通过networking共享(到Windows 2003服务器)访问文件,并有访问权限问题。 到目前为止,我不认为这是一个Powershell特定的问题。

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

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

我们确实需要一些关于您所得到的错误的详细信息 – “掏出”清楚地表明失败,但并没有真正帮助find根本原因。

您可能会遇到C#应用程序的代码访问安全性问题 – 除了其他人提到的NTFS访问权限之外,.NET框架还强制执行CAS策略。 你可以在这里find更多关于微软概念的细节, 这里有一些在The Code Project上的例子,以及一些关于解决这个问题的方法的讨论。 CAS的一个常见问题是当应用程序在位于本地硬盘驱动器上时没有问题地执行,但在复制到networking共享时失败并尝试从那里执行时出现问题。