【问题标题】:Run Powershell remotely as Admin以管理员身份远程运行 Powershell
【发布时间】:2015-12-17 00:14:28
【问题描述】:

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

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

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

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

【问题讨论】:

标签: powershell


【解决方案1】:

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

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

这通常是个坏主意。说用户“不会”看到它与说他们看不到是不一样的。如果他们可以看到它,那么凭据就会受到损害,并且基本上该用户现在可以轻松地拥有提升的权限。

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

加密凭证

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

例如:

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

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

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

我会怎么做

SYSTEM 运行您的计划任务。

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

【讨论】:

    猜你喜欢
    • 2023-01-24
    • 2011-02-18
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    相关资源
    最近更新 更多