在这里,IT管理员,第一个问题。在线上,我找到了一个简单的Powershell脚本,该脚本可以在用户的PC上手动创建系统还原点。我想通过GPO计划任务将其部署到所有公司计算机。脚本如下:
Checkpoint-Computer -Description 'System Restore Point' -RestorePointType modify_settings
脚本工作正常。问题是Powershell需要以管理员身份运行。在计划的任务菜单中,仅当用户是本地管理员时,才能以最高特权运行该选项。出于安全原因,我们公司将无法授予用户的本地管理员访问权限。
我的问题是,我可以添加一些简单的命令来提升Powershell的管理权限吗?另外,必须确保不会提示用户,并且其余命令仍将执行。我不介意在脚本本身中存储用户名或管理员密码,因为用户将看不到该脚本。我很欣赏所有建议,但前提是执行起来很简单。请记住,我不是程序员,我是Cisco网络工程师以及Windows Server管理员。我的老板只希望我按设定的时间表创建手动还原点,我认为Powershell可能是最好的。虽然可以打开其他脚本类型。
最佳答案
您的问题分为两部分。第一部分是关于如何以具有提升权限的特定用户身份运行计划任务。我认为只能使用本地管理员帐户这样做是不正确的,但这对于本网站来说是不合时宜的。考虑将其单独发布在ServerFault上(如果您这样做并链接它,我会看一下)。
第二部分涉及将凭据嵌入脚本。
这通常是个坏主意。说用户“不会”看到它与说他们看不到不同。如果他们看到了该凭据,则该凭据将受到损害,并且基本上该用户现在可以微不足道地拥有提升的权限。
因此,您需要足够安全地保护脚本文件,以便无特权的用户无法读取该文件。
加密凭证
PowerShell还具有[PSCredential]
对象,该对象将密码存储为安全字符串。可以存储和检索此对象的加密版本。
例如:
$cred = Get-Credential
$cred | Export-CliXml -Path C:\my\cred.xml
XML文件将包含凭证,但将被加密。它只能由对其进行加密的同一台计算机上的同一用户解密。
如果需要,这可能是您使用证书的一种方式。但说实话,事实并非如此。
我将如何做
运行您的计划任务
SYSTEM
。SYSTEM
运行关于powershell - 以管理员身份远程运行Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34324539/