如何在 Powershell 中以管理员身份安装程序

问题描述

我开始编写一个 powershell 脚本来自动部署新的 Windows 10 PC。

我已经编写了一个脚本来安装公司应用程序并映射网络文件夹和打印机。

但是我有一个问题,我必须为每个要安装的程序输入管理员密码。

我在互联网上搜索过,我发现的只有 runas 命令,我看到它类似于 Linux 的 su,但我无法推送密码。

这是我安装所有应用程序的方式:

Set-Content "$DESTINO\program.bat" -value 'msiexec -i C:\progtemp\program.msi /quiet'
Start-Process $DESTINO\program.bat -Wait

你知道更好的方法吗?

解决方法

以管理员身份自动运行某些东西的两种主要方法如下:

  1. 创建计划任务以运行脚本,您可以选择运行此升级并根据需要存储凭据

  2. 使用 powershell 创建启动脚本(如果必须,也可以使用批处理文件!) https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn789190(v=ws.11)

启动脚本以最高权限的用户系统运行。请注意,启动时可能无法访问网络,并且本地网络上的系统可能无法访问某些内容等。

强烈推荐查看 Chocolatey https://www.chocolatey.org 和可能的 boxstarter:https://boxstarter.org/ 帮助您开始一些自动化和包管理。

微软在早期也有类似的技术: https://docs.microsoft.com/en-us/windows/package-manager/

但坦率地说,Chocolatey 是一个开放的框架,并且在现阶段已经完善和成熟。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...