大中型企业中,会设置许多组策略进行日常运维管理 ,毕然里面也存在许多废弃的策略,需要我们定期清理我们的组策略信息。通常我们导出HTML报告方式来帮助我们分析组策略信息:

#1

首先需要加载GroupPolicy模块:

Import-Module GroupPolicy

将GPO导出为一个HTML报告:

Get-GPOReport -All -ReportType html -Path C:\GPOReports\GposReport.html

#2

将每个GPO导出生成自己的HTML报告中:

Get-GPO -All | %{

Get-GPOReport -name $_.displayname -ReportType html -path ("c:\GPOReports\"+$_.displayname+".html")

}

#3

让我们查询所有设置被禁用的GPO策略:

$reportFile = "c:\GPOReports\AllSettingsDisabledGpos.csv"

Set-Content -Path $reportFile -Value ("GPO Name,Settings")

Get-GPO -All | where{ $_.GpoStatus -eq "AllSettingsDisabled" } | % {

add-Content -Path $reportFile -Value ($_.displayName+","+$_.gpoStatus)

}

#4

查询没有应用到任何用户的Gpo策略

$reportFile = "c:\GPOReports\GPOApplyToPermissions.csv"

Set-Content -Path $reportFile -Value ("GPO Name,User/Group,Denied")

Get-GPO -All | %{

$gpoName = $_.displayName

[int]$counter = 0

$security = $_.GetSecurityInfo()

$security | where{ $_.Permission -eq "GpoApply" } | %{

add-Content -Path $reportFile -Value ($gpoName + "," + $_.trustee.name+","+$_.denied)

$counter += 1

}

if ($counter -eq 0)

{

add-Content -Path $reportFile -Value ($gpoName + ",NOT APPLIED")

}

}

#4

获取GPO,链接和WMI过滤器:

$reportFile = "c:\GPOReports\GPOLinksAndWMIFilters.csv"

Set-Content -Path $reportFile -Value ("GPO Name,# Links,Link Path,Enabled,No Override,WMI Filter")

$gpmc = New-Object -ComObject GPMgmt.GPM

$constants = $gpmc.GetConstants()

Get-GPO -All | %{

[int]$counter = 0

[xml]$report = $_.GenerateReport($constants.ReportXML)

try

{

$wmiFilterName = $report.gpo.filtername

}

catch

{

$wmiFilterName = "none"

}

$report.GPO.LinksTo | % {

if ($_.SOMPath -ne $null)

{

$counter += 1

add-Content -Path $reportFile -Value ($report.GPO.Name + "," + $report.GPO.linksto.Count + "," + $_.SOMPath + "," + $_.Enabled + "," + $_.NoOverride + "," + $wmiFilterName)

}

}

if ($counter -eq 0)

{

add-Content -Path $reportFile -Value ($report.GPO.Name + "," + $counter + "," + "NO LINKS" + "," + "NO LINKS" + "," + "NO LINKS")

}

}

#5

查询具有阻止GPO继承的组织单位:

Import-Module ActiveDirectory

$reportFile = "c:\GPOReports\OUsWithBlockInharit.csv"

set-Content -Path $reportFile -Value ("Block Inharitance OU Path")

Get-ADOrganizationalUnit -SearchBase "DC=Your,DC=Domain" -Filter * | Get-GPInheritance | Where-Object { $_.GPOInheritanceBlocked } | %{

add-Content -Path $reportFile -Value ($_.path)

}

PowerShell 脚本域策略管理的更多相关文章

  1. PowerShell 脚本执行策略

    为防止恶意脚本的执行,PowerShell 中设计了一个叫做执行策略(Execution Policy)的东西(我更倾向于把它叫做脚本执行策略).我们可以在不同的应用场景中设置不同的策略来防止恶意脚本 ...

  2. 【黑客基础】Windows PowerShell 脚本学习(上)

    视频地址:[黑客基础]Windows PowerShell 脚本学习 2019.12.05 学习笔记 1.$PSVersionTable :查看PowerShell的版本信息. 2.PowerShel ...

  3. 在win2008 r2主域控制域上打开“组策略管理”报错“未打开组策略对对象。你可能没有合适的权限”

    在win2008 r2主域控制域上打开“组策略管理”报错“未打开组策略对对象.你可能没有合适的权限” 打开组策略管理其它选项提示:找不到指定路径.之前做过的操作:取消域控主机上的共享目录sysvol和 ...

  4. [2016-07-15]nuget包管理器控制台下的powershell脚本介绍

    博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...

  5. Powershell寻找域管在线服务器

    记录线下Powershell在域环境中对于服务器的信息收集 Powershell的脚本有很多,在内网渗透测试中不仅能扫,能爆,能转发,还能做更多的事情.我们常用的脚本有Powersploit,Empi ...

  6. POWERSHELL将域中的计算机移动到指定OU

    POWERSHELL处理域中计算机的过程 由于集团公司规模较大,存在几个分公司并处在不同地理位置.采用域集中管理,各分公司都有自己的域控制器,分别负责各分公司的DNS解析,DHCP地址分配,及客户端登 ...

  7. powershell脚本之windows服务与进程

    powershell脚本之windows服务与进程 服务与进程的区别: Windows服务是指系统自动完成的,不需要和用户交互的过程,可长时间运行的可执行应用程序 进程是程序运行的实例,系统会给运行中 ...

  8. 域内信息收集 powershell收集域内信息

    POwershell收集域内信息 Powershell(你可以看做CMD的升级版 但是和cmd完全不一样) 原来的powershe是不能执行任何脚本的 更改执行策略 这个是一个绕过的脚本 接下来我们了 ...

  9. Windows域的管理

    目录 域的管理 默认容器 组织单位的管理 添加额外域控制器 卸载域控服务器 组策略应用 域的管理 域用户账户的管理 创建域用户账户 配置域用户账户属性 验证用户的身份 授权或拒绝对域资源的访问 组的管 ...

随机推荐

  1. POJ1055 BULK MAILING

    题目来源:http://poj.org/problem?id=1055 题目大意: 每封信都有一个zip-code, 由5位数字构成,可以通过将zip-code相同或相近的信件打包来节省成本.打包规则 ...

  2. Canvas 动态小球重叠效果

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. poj2823滑动窗口(单调队列)

    题目传送门 题意:给你一个长度为n的数列,然后用一个长度为k的窗口去框(k<n)每次保存k这个窗口中的最大值和最小值,输出. 思路:这道题最朴素的on2的做法铁定超时,然后我想过一个nlogn的 ...

  4. HDU计算机学院大学生程序设计竞赛(2015’12)The Country List

    Problem Description As the 2010 World Expo hosted by Shanghai is coming, CC is very honorable to be ...

  5. lintcode - 恢复ip地址

    class Solution { public: /* * @param s: the IP string * @return: All possible valid IP addresses */ ...

  6. 1.Hibernate框架

    1.分层体系结构与持久化 三层体系结构: 分层体系结构: 指的是将系统的组件分隔到不同的层中,每一层中的组件应保持内聚性,并且应大致在同一抽象级           别: 每一层都应与它下面的各层保持 ...

  7. opencv-将分离合并图像(Red通道>125置255<=置0)

    #include <iostream> #include <opencv2/opencv.hpp> #include "opencv2/imgproc/imgproc ...

  8. NETCORE openSUSE docker 安装

    openSUSE docker 安装https://www.jianshu.com/p/c725a06447d5 zypper命令使用示例https://www.cnblogs.com/linuxpr ...

  9. django django中的HTML控件及参数传递方法 以及 HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?

    https://www.jb51.net/article/136738.htm django中的HTML控件及参数传递方法 下面小编就为大家分享一篇django中的HTML控件及参数传递方法,具有很好 ...

  10. 转Linux 下用alias 设置命令别名快速切换常用命令

    https://blog.csdn.net/u012830148/article/details/80618616 在linux下开发,经常需要切换目录,如果目录很长则切换起来非常的麻烦,针对一些常用 ...