大中型企业中,会设置许多组策略进行日常运维管理 ,毕然里面也存在许多废弃的策略,需要我们定期清理我们的组策略信息。通常我们导出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. [Groovy]Groovy with Ant Task

    平时经常会用Ant来写一写脚本,但最近跨入到Groovy的时代,试着做一些改变.Groovy里集成了AntBuilder能非常方便的调用到Ant的对象模型. 现考察如下 1. Groovy里定义的属性 ...

  2. C语言中变量的存储类型

    在C语言中,对变量的存储类型说明有以下四种: auto 自动变量register   寄存器变量extern 外部变量static   静态变量 自动变量和寄存器变量属于动态存储方式,外部变量和静态变 ...

  3. APP微信支付实现

    参考官方文档 设计到的API: 统一下单API.支付结果通知API和查询订单API 下面代码是请求预支付ID // 构建下单bean final WxPayUnifiedOrderBean unifi ...

  4. JavaScript中使用ActiveXObject操作本地文件夹的方法

    转载地址    http://www.jb51.net/article/48538.htm 在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实 ...

  5. 第一章javascript简介

    javascript 当诞生于1995 最开始是目的是处理在服务器端进行的表单验证:让其在服务器端验证改为在服务端验证,大大提高速度(当时网络慢) 如今javascript是一门功能全面的语言,包含闭 ...

  6. Vue循环中多个input绑定指定v-model

    Vue.js中提供了v-model可以双向绑定表单元素,这个方法可以非常方便的获得输入的值,但是有时候表单元素需要循环生成,在循环中要怎样获得指定输入框的值呢 这里介绍两种,一种是v-for中循环生成 ...

  7. Django media的设置

    django在定义模型时需要一些上传的文件,例如图片 class Banner(models.Model): """ 轮播图models titles 标题 images ...

  8. Cmder光标错位的问题&VSCode终端光标错位问题

    问题 本机中安装了 Cmder,几乎是0配置 ,同时在 VSCode 中设置默认终端为 Cmder,在 VSCode 中打开终端,显示如图: 这里光标实际的位置是 . 的后面,但是表现出来的是多一个空 ...

  9. OpenCV howto

    OpenCV中文网站 http://www.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5 Installing OpenCV on Windows 7 for ...

  10. 在windows上安装common lisp开发环境

    (2014.1写于CSDN的文章) 最近对lisp非常感兴趣,因此在google中搜索了“common lisp install windows”, 想装一个开发环境玩玩. 第一条结果就是 “Gett ...