【发布时间】:2014-05-11 03:50:44
【问题描述】:
我有一个看似简单的问题:如何在 Server 2012 R2 上手动运行 .ps1 脚本并在管理员提升的 shell 中打开它?我正在右键单击并单击 .ps1 文件上的“使用 Powershell 运行”。
我的环境:
同一 OU 中同一域中的两台 Server 2012 R2 计算机。两者都是完整的 GUI 安装。两者都将 UAC 设置为“默认”。
差异:
其中一台服务器将在管理员提升的 shell 中运行任何和所有 .ps1 文件。另一台服务器将在非管理员的标准 shell 中运行任何和所有 .ps1 文件。我不知道两台服务器之间有什么区别。两者都没有运行任何自定义 Powershell 配置文件。
以下注册表项在两台服务器之间都是相同的:
HKEY_CLASSES_ROOT\Microsoft.PowerShellCmdletDefinitionXML.1
HKEY_CLASSES_ROOT\Microsoft.PowerShellConsole.1
HKEY_CLASSES_ROOT\Microsoft.PowerShellData.1
HKEY_CLASSES_ROOT\Microsoft.PowerShellModule.1
HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1
HKEY_CLASSES_ROOT\Microsoft.PowerShellSessionConfiguration.1
HKEY_CLASSES_ROOT\Microsoft.PowerShellXMLData.1
我错过了什么?
【问题讨论】:
-
我找到了两种解决此问题的方法: 1. 禁用 UAC...我知道,我知道...很明显,对吗?没有! Server 2012 R2 在如何完全禁用 UAC 方面与 2008 不同:social.technet.microsoft.com/wiki/contents/articles/… 2. 在本地安全策略、本地策略、安全选项中,设置“用户帐户控制:对内置管理员帐户使用管理员批准模式”选项" 改为 "禁用" 并重新启动。
标签: powershell windows-server-2012-r2 administrator