组策略问题

时间:2019-02-19 12:37:14

标签: powershell windows-server-2008 windows-server-2012-r2 gpo

希望您能提供帮助。出于某种背景,我们的域控制器之一是Server 2008 R2,另一个是2012 R2,2012 R2包含更新的ADMX文件。主要的DC是2008版本,我们计划尽快对其进行升级。

我有一个默认域策略,其中包含一个基本的登录脚本(.bat),该脚本可映射驱动器并将文档添加到用户桌面。此策略是“已强制执行且已启用链接”,并推送到所有OU。

我在链接到我们域的OU中有一个附加的策略设置,其中包括一个在登录时运行的Powershell脚本。它是在辅助DC(2012)上创建的,因为它使用“开始”菜单和任务栏内的“开始屏幕布局”功能-主DC(2008)没有此功能。

由于某种原因,默认域策略未运行,但是第二个策略已成功运行。有什么可能会发生这种情况吗?我对第二项政策的强制执行选项一团糟,但我无法弄清楚为什么它没有同时运行。

这肯定与我在第二个策略中运行的Powershell命令有关,如果删除这些默认策略登录脚本则可以正常运行。

更多信息

为说明起见,总共有3个脚本(所有脚本都位于sysvol中的Policy位置)。第一个ps1文件从所有用户都可以访问的网络位置复制设备和打印机的快捷方式,并将其粘贴到所有用户的%appdata%中。该脚本的一部分使用startlayout.xml引用此位置,然后将快捷方式添加到用户的开始菜单。

Copy-Item -Path "\\Server\Share\*.lnk" -Destination "$env:APPDATA\Microsoft\Windows\Start Menu\Programs"

下一条命令删除了Win 10安装到用户配置文件中的膨胀软件的负载,我不会在脚本中发布所有应用程序,而是发布其中的一些应用程序,以便您了解要点:

$AppList = @( "*Microsoft.3dbuilder*" "*AdobeSystemsIncorporated.AdobePhotoshopExpress*" "*Microsoft.WindowsAlarms*" "*Microsoft.Asphalt8Airborne*" ) foreach ($App in $AppList) { Get-AppxPackage -Name $App | Remove-AppxPackage -ErrorAction SilentlyContinue }

作为实际登录脚本添加的脚本引用了上面两个脚本所在的位置并运行它们:

Get-ChildItem \\domain\SysVol\domain\Policies\'{Policy Number}'\User\Scripts\Logon | ForEach-Object { & $_.FullName }

希望这会有所帮助,无论是否没有退出命令,也许我不确定,因为我不太了解Powershell脚本。

进一步更新

大家好,另一个更新。我现在已经通过组策略制作了所有驱动器映射和文档副本,该策略消除了第一个策略,因此现在只有一个登录脚本可以运行,该脚本用于删除Bloatware。我决定尝试使用以下命令从.bat文件中调用它: PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "\\domainm\SysVol\domain\Policies\{Policy Number}\User\Scripts\Logon\BloatwareRemoval.ps1"'-Wait}" 同样,此操作仅在用户第二次登录后才运行。在这里我缺少明显的东西吗?谢谢。

谢谢。

0 个答案:

没有答案