以管理员身份远程运行Powershell

时间:2015-12-17 00:14:29

标签: powershell

IT管理员,本网站的第一个问题。在线我发现了一个简单的Powershell脚本,可以在用户的​​PC上手动创建系统还原点。我想通过GPO计划任务将其部署到所有公司计算机。脚本如下:

Checkpoint-Computer -Description 'System Restore Point' -RestorePointType modify_settings

脚本工作完全正常。问题是powershell需要以管理员身份运行。在计划任务菜单中,仅当用户是本地管理员时,才能使用以最高权限运行的选项。出于安全原因,我们公司无法授予用户本地管理员访问权限。

我的问题是,我可以添加一些简单的命令来提升powershell以获得管理员权限吗?此外,必须确保不会提示用户,并且命令的其余部分仍将执行。我不介意在脚本本身存储用户名或管理员密码,因为用户不会看到脚本。我感谢任何建议,但只有执行起来相当简单。请记住,我不是程序员,我是思科网络工程师以及Windows Server管理员。我的老板只是希望我按照既定的时间表创建手动恢复点,我认为powershell可能是最好的。但是,请打开其他脚本类型。

1 个答案:

答案 0 :(得分:1)

您的问题分为两部分。第一部分是关于如何将具有提升权限的特定用户运行计划任务。我不认为只使用本地管理员帐户这样做是正确的,但这不是本网站的主题。考虑在ServerFault上单独发布(如果你这样做并链接它,我会看看)。

第二部分涉及将凭证嵌入脚本中。

这通常是一个坏主意。说用户“不会”看到它并不是说他们不能看到它。如果他们可以看到它,那么凭证就会受到损害,而且用户现在可以轻易拥有更高的权限。

因此,您需要足够好地保护脚本文件,以便非特权用户无法读取该文件。

加密凭证

PowerShell还有一个[PSCredential]对象,它将密码存储为安全字符串。可以存储和检索此对象的加密版本。

例如:

$cred = Get-Credential
$cred | Export-CliXml -Path C:\my\cred.xml

XML文件将包含凭据,但它将被加密。它只能由同一台计算机上的同一用户解密,并将其加密开始。

如果需要,这可以是您使用凭证的一种方式。但说实话,它可能不是。

我将如何做到这一点

将计划任务作为SYSTEM运行。

  • 应该有足够的特权来恢复点
  • 这是本地的
  • 即使通过GPO
  • ,也可以轻松将计划任务设置为SYSTEM
  • 无需密码处理