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