我有 Windows 命令行安装程序的 powershell 安装脚本舀脚本名为:install.ps1
。下载脚本后,使用
irm get.scoop.sh -outfile 'install.ps1'
我想通过 Intune 门户部署它。我很清楚 Intune 有一个部分,您可以在其中明确部署 powershell 脚本。我不想那样做,因为我想学习/知道如何/是否可以通过这种方式实现。
我的问题是,powershell 脚本的 install 命令与msi
或使用的命令有何不同exe
。
答案1
经过一些测试和研究,我发现了三件事:
cmd.exe
intune在后台使用-syntax,而不是powershell.exe
-syntax- 所有命令均在管理模式下运行
- scoop-installer 默认不支持提升权限,因此需要特定的选项
考虑到这些,我可以给 Intune 正确的命令静默安装。
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -NonInteractive -File install.ps1 -RunAsAdmin
我正在使用不同的选项执行 powershell,这些选项绕过 ExecutionPolicy(如果尚未设置)并隐藏/静音/安静打开的 powershell 控制台。
在-File
选项之后,我声明了要执行的脚本和 scoop-installer 特定的选项。将选项放在命令末尾-RunAsAdmin
很重要,因为选项后面的所有内容都会被解释为 的一部分。-File
install.ps1
为了完整起见,这里也静默卸载-命令:
powershell.exe -ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -NonInteractive -Command "del $HOME\scoop -Force -Recurse | Out-Null"
我知道卸载命令的任务也可以用纯cmd
语法来实现,但我想接近文档。