3

我最近发现默认情况下,powershell 脚本的执行是禁用的。我打算依靠它安全地从 Windows 中删除 USB 设备,但是如果默认情况下没有启用它,我必须先启用它。做这样的事情通常可以接受吗?

也欢迎替代解决方案。

这个问题如下:https ://superuser.com/questions/637854/safely-remove-a-usb-drive-using-bat-file/637878

4

2 回答 2

3

我不会仅仅因为您的应用程序想要使用它而在机器上全局执行脚本。这是 IT/安全政策决定,他们不应该仅仅通过使用您的软件就被迫接受您的决定。如果从 .NET 应用程序中调用 PowerShell 运行空间,则无需担心执行策略,因为无需调用单独的 .ps1 脚本即可运行命令。如果您需要调用 powershell.exe 并为其提供脚本文件,请查看-ExecutionPolicy Bypass. About_Executionpolicies关于 Bypass 的说明如下:

        - Nothing is blocked and there are no warnings or
          prompts.
        - This execution policy is designed for configurations
          in which a Windows PowerShell script is built in to a
          a larger application or for configurations in which
          Windows PowerShell is the foundation for a program
          that has its own security model.
于 2013-08-30T16:17:39.010 回答
2

MS 用于交付“准备好被利用”的系统。他们对此变得更加聪明,并且更加重视安全性。所以他们现在默认禁用许多功能。

至于 PowerShell,默认情况下默认的“执行策略”不允许运行脚本。但是,在命令行上,只要您有权这样做,您就可以一起绕过执行策略(即不更改它):

PowerShell -ExecutionPolicy 绕过 -file yourfile.ps1

如果您是机器的管理员,启用并使用它是完全可以的。如果您只是应用程序所有者,您可能应该咨询管理员以更改策略,但如上所述,您可能不需要。

于 2013-08-30T15:25:55.280 回答