通过GPO安装Powershell模块

我发现一个模块真的很稳定,并且想要在整个AD域中使用它。 有什么办法来自动化这个过程吗? 在普通的Powershell中,我只需要简单地使用pipe理员权限来调用这个命令:

Install-Module -Name $moduleName 

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

 Set-PSRepository -name $repoName -InstallationPolicy trusted 

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

理想的解决scheme将如下所示:

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

甚至更好:

  1. 有一些容器,包含没有安装模块的电脑。
  2. 模块安装在此容器中的每台计算机上,然后移到其外面。

第二个可以在简单的域容器上工作,在那里我们得到了GPO的子容器,它使用上面的命令运行PS脚本。 我们可以通过使用PS Active Directory cmdlet来移动计算机。 而且我看到下一个问题,会自动从容器移动到另一个容器,在更大的规模和更长的时间内安全吗?

你必须做一个步骤的工作。

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

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