【问题标题】:Execute a PowerShell command once remote machine access the network远程机器访问网络后执行 PowerShell 命令
【发布时间】:2015-06-24 19:59:57
【问题描述】:

我目前正在开发一个 PowerShell 模块,该模块根据特定的命名约定为网络上的每台计算机动态分配唯一的本地管理员密码。我的脚本运行良好,但显然,如果脚本正在访问的其中一台计算机未打开或与网络断开连接,我只会收到“无法连接到 RPC 服务器”错误消息。现在,如果我要通过组策略推送这些密码更改,即使计算机没有连接到网络,一旦它确实签入,更改就会实施。我可以想到几种在 PowerShell 中模仿这种行为的方法,例如将其设置为计划任务,仅针对未达到上一次运行的计算机重新运行脚本,但我想知道是否有人知道任何最佳实践进行这种操作?

谢谢!

【问题讨论】:

  • 这就是配置管理工具的用途。 SCCM 和 Orchestrator 可能是完成此类任务的方法

标签: powershell passwords scheduled-tasks remoting


【解决方案1】:

除非您有办法通过其他工具发送某种 LAN 唤醒数据包,否则它不可能在离线计算机上与 PowerShell 进行交互。 SCCM 是这样的一个很棒的产品。因为它只会在机器可用时部署。

PowerShell 具有使用工作流暂停某些任务或脚本组件的功能,但是自从 PowerShell Desired State Configuration 出现以来,此类配置的使用越来越少。

由于我们讨论的是最佳实践,因此您永远不应将任何共同点与您的本地管理员密码(即计算机名称)相关联,如果发现该组合,那么每台计算机的本地管理员都可以访问。此外,应该从机器/服务器的基本构建中定义本地管理员。这是像 SCCM 这样的工具将在任务序列中包含一个步骤的地方,该步骤定义了该机器的本地管理员密码。之后,它可以存储在某种密码库中并隐藏起来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2021-12-22
    • 2021-08-08
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2012-07-27
    相关资源
    最近更新 更多