我想要做的是 - 我想在我的域中的每台 PC 上安装一个软件。我希望它完全自动化。我确信这可以使用批处理文件或 vbscript 来完成。我想要做的是:
- 根据日志文件检查文件是否存在于本地机器上(与步骤 4 相关)
- 如果没有,请将 exe 从服务器位置(例如 \servername\c$\Temp)复制到 C:\Temp
- 运行安装程序(应用程序需要使用 cmd 提示符安装,因此此步骤很可能是一个批处理文件)
- 将结果记录到服务器上的日志文件 (.txt),以便脚本知道哪台 PC 已完成。
我对脚本编写完全陌生,有人能给我指点一下吗?非常感谢。
答案1
首先,您需要确定是否可以从命令行运行安装,以及哪些开关可用/强制。如果安装程序是(或包含).msi,则很可能是这种情况。
PSExec 是 SysInternals 的一个工具(由 Microsoft 收购,但保留在 SysInternals 名称下 - 只需搜索它),我经常使用它来做这种事情。创建一个文件(我通常使用“targets.list”),其中包含所有目标系统,每行一个。将其放在包含 PSExec 和安装程序的目录中。运行“ psexec @targets.list -c [filename] [arguments]
”。
日志记录不太好,但你可以找到很多脚本来列出计算机的已安装应用程序。我经常从Microsoft 脚本中心存储库。(这可能在 Powershell 中很容易实现。)(一个例子是这个脚本:“列出所有已安装的软件“。)修改脚本,使其仅报告您关心的应用程序,或仅列出没有它的机器……我还将其设置为使用相同的“targets.list”文件。有多种方法可以做到这一点!
—沃尔多