通过 GPO 安装 Powershell 模块

Pat*_*ski 6 powershell active-directory group-policy

我发现一个模块真的很有趣,并想在整个 AD 域中使用它。有什么办法可以使这个过程自动化?在普通的 Powershell 中,我必须使用管理员权限简单地调用此命令:

Install-Module -Name $moduleName
Run Code Online (Sandbox Code Playgroud)

如果它是不受信任的存储库,那么我必须更改它:

Set-PSRepository -name $repoName -InstallationPolicy trusted
Run Code Online (Sandbox Code Playgroud)

我正在寻找更优雅的方式,而不是在计算机启动时运行这些命令,作为简单的 PS 脚本。

理想的解决方案如下所示:

  1. 有些东西会检查,如果计算机上安装了模块。
  2. 如果没有,则安装模块,并且计算机从现在开始被识别为安装了模块的机器。
  3. 如果它确实安装了模块,则不采取任何操作。

或者甚至更好:

  1. 有某种容器,其中包含没有安装模块的计算机。
  2. 模块安装在此容器中的每台计算机上,然后移出容器。

第二个可以在简单的域容器上工作,在那里我们得到了带有 GPO 的子容器,它使用上面的命令运行 PS 脚本。我们可以使用 PS Active Directory cmdlet 通过这种结构移动计算机。我看到下一个问题,自动从容器移动到另一个容器,在更大范围内和更长时间内是否安全?

小智 2

你必须做好一步工作。

1)创建一个安装模块的msi,简单的方法在这里解释

2)使用 GPO 将 MSI 安装到所有计算机,如下所述