如何在活动目录登录时运行powershell脚本

时间:2017-06-21 16:49:45

标签: powershell active-directory

我在“组策略管理编辑器”的导航窗格中展开了组策略,展开“用户配置”,展开“策略”,展开“Windows设置”,然后单击“脚本(登录/注销)”。我将一个登录脚本作为ps1文件:

copy-item "\\server1\Pictures\background.jpg" -Destination "C:\screensaver\" -Recurse

我在powershell脚本中添加了ps1文件,并将其设置为首先运行powershell脚本。

我没有使用任何可能导致问题的参数?

我需要每台计算机在登录时都有c:\screensaver\background.jpg图像。

它是应用于该OU的唯一组策略,所有PC均为Windows 10,域控制器为Windows 2012 r2。

2 个答案:

答案 0 :(得分:0)

听起来实现您的请求有两个部分。在执行以下任何操作之前,请确保您可以作为其中一个用户登录,并手动执行您希望脚本完成的步骤(以确保任何用户限制都没有阻止您)。因此,请确保您可以导航到删除图片位置\\server1\Pictures\background.jpg,并将其复制到本地文件夹C:\screensaver

  1. 将文件复制到目标计算机。您提供了PS1文件的内容为copy-item "\server1\Pictures\background.jpg" -Destination "C:\screensaver\" -Recurse。我相信你会想在你的\server1字符串的开头加上两个斜杠“\\”,结果是"\\server1\Pictures\background.jpg"(这两个斜杠使它成为一个有效的UNC路径)。此外,您还包含-Recurse参数。我不明白是否需要这个基于文档的参数,可以通过命令Get-Help Copy-Item -Full访问。

    -Recurse [<SwitchParameters>]
        Indicates that this cmdlet performs a recursive copy.
    

    我建议您添加-Force参数。如果您更新该图像,则下次用户登录时,他们将收到更新的图像。如果没有-Force参数,该命令可能不会覆盖磁盘上的现有映像。此外,不应需要-Destination参数上的尾部斜杠。我建议命令类似:

    Copy-Item "\\server1\Pictures\background.jpg" -Destination "C:\screensaver\" -Force
    
  2. 通过组策略配置壁纸我通过Google搜索找到的第一个链接通过组策略设置Windows 10壁纸,其中包含任何看似有用的步骤{ {3}}网站。我无法对它们进行测试,但主要的一点是,您需要确保实际上是在告诉计算机使用您复制到的墙纸。

  3. 如果您确定已经解决了上述问题,那么为您服务。用户首次登录时可能会有一些注意事项,如果未复制图像,则壁纸可能会在第二次登录时显示。

答案 1 :(得分:0)

在我看来,创建一个(PowerShell-)登录脚本来复制文件并不是一个很好的解决方案,而且现在已经过时了。 让您的生活更轻松,并使用组策略首选项来完成此任务。您不必为此创建脚本。

打开组策略管理控制台,选择您的策略,打开“首选项”-Node并选择“文件”。创建一个新元素并选择源和目标(如下所示)。

重新启动后,客户端和文件应该被复制而不进行编码。

Screenshot Group Policy Preferences