{"id":8228,"date":"2021-03-18T09:56:48","date_gmt":"2021-03-18T13:56:48","guid":{"rendered":"https:\/\/jdhitsolutions.com\/blog\/?p=8228"},"modified":"2021-03-18T09:56:51","modified_gmt":"2021-03-18T13:56:51","slug":"better-active-directory-reporting-with-powershell","status":"publish","type":"post","link":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/","title":{"rendered":"Better Active Directory Reporting with PowerShell"},"content":{"rendered":"\n<div class=\"wp-block-image is-style-default\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png\"><img loading=\"lazy\" decoding=\"async\" width=\"135\" height=\"119\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png\" alt=\"\" class=\"wp-image-8229\"\/><\/a><\/figure><\/div>\n\n\n\n<p>I've been using Active Directory for over 20 years. I was even one of the first 2000 IT Pros worldwide to obtain an MCSE on Windows 2000. Over the years, I've used a variety of management tools from command-line tools, to VBScript, and eventually PowerShell. Like many of you, I've used the ActiveDirectory module from Microsoft since its introduction. And probably like you, have shared the same frustrations in using it. But, I have some answers. And to be clear, I'm talking about on-premise installations of Active Directory. I have had no reason to dive into Azure Active Directory  so I'm not going to speak to that technology.<\/p>\n\n\n\n<p>The first thing we have to accept is that the ActiveDirectory (AD) module is a <em>framework<\/em>. Whereas other modules, like Hyper-V, have commands that are complete and self-contained. When I run Get-VM, I know exactly what I am going to get. The AD module is different. The commands are designed so that <em>you <\/em>have to decide what you want. The object output is typically unformatted and essentially raw. It is up to the IT Pro to build tooling around this framework. You need to create scripts and functions that wrap around the AD commands. I know that can be a tedious task.<\/p>\n\n\n\n<p>During the course of conversations with my friend and AD admin, Gladys Kravitz, I realized I needed to build a solid reporting tool around Active Directory. I had a library of scripts and functions I have written over the years, including a few that I've written about here recently. Thus was born <a href=\"https:\/\/github.com\/jdhitsolutions\/ADReportingTools\" target=\"_blank\" rel=\"noreferrer noopener\">ADReportingTools<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ADReportingTools<\/h2>\n\n\n\n<p>This module is a set of commands that wrap around the AD module. The assumption is that you will run the commands from your Windows 10 desktop. I wanted a toolset that would make it easier to get information out of Active Directory in an easy-to-use form. The module includes custom type and format files so that the results are immediately meaningful. Of course, there is often a rich object you can work with. But I wanted to make things easy. Such as seeing the members of a group.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupuser.png\"><img loading=\"lazy\" decoding=\"async\" width=\"623\" height=\"279\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupuser.png\" alt=\"\" class=\"wp-image-8230\" srcset=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupuser.png 623w, https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupuser-300x134.png 300w\" sizes=\"auto, (max-width: 623px) 100vw, 623px\" \/><\/a><\/figure>\n\n\n\n<p>Many of the formatting files use ANSI to convey additional information. In this case, disabled accounts are reflected in red. Or checking the health of your domain controllers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-addomaincontrollerhealth.png\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"223\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-addomaincontrollerhealth.png\" alt=\"\" class=\"wp-image-8231\" srcset=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-addomaincontrollerhealth.png 480w, https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-addomaincontrollerhealth-300x139.png 300w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/a><\/figure>\n\n\n\n<p>Or getting a list of groups.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupreport-age.png\"><img loading=\"lazy\" decoding=\"async\" width=\"776\" height=\"362\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupreport-age.png\" alt=\"\" class=\"wp-image-8232\" srcset=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupreport-age.png 776w, https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupreport-age-300x140.png 300w, https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/get-adgroupreport-age-768x358.png 768w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><\/a><\/figure>\n\n\n\n<p>Distribution groups are shown in green. Member counts of 0 are in red.<\/p>\n\n\n\n<p>I also have a few commands to generate HTML reports.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplechangereport.png\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"308\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplechangereport.png\" alt=\"\" class=\"wp-image-8233\" srcset=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplechangereport.png 672w, https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplechangereport-300x138.png 300w\" sizes=\"auto, (max-width: 672px) 100vw, 672px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><a href=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplereport.png\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"338\" src=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplereport.png\" alt=\"\" class=\"wp-image-8234\" srcset=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplereport.png 670w, https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/samplereport-300x151.png 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/a><\/figure>\n\n\n\n<p>The module is designed only to get information. There are no commands to manage AD objects. This is strictly a reporting or information-gathering module.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Try It<\/h2>\n\n\n\n<p>The module is currently available as a preview from the PowerShell Gallery.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"powershell\" class=\"language-powershell\">Install-Module -name ADReportingTools -AllowPrerelease<\/code><\/pre>\n\n\n\n<p>You will need the AD RSAT tools installed.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"powershell\" class=\"language-powershell\">Get-WindowsCapability -Online -Name RSAT.Active* | Add-WindowsCapability -online<\/code><\/pre>\n\n\n\n<p>Once installed, run Get-ADReportingTools to get a summary list of commands. I also encourage you to take a look at the <a href=\"https:\/\/github.com\/jdhitsolutions\/ADReportingTools\/blob\/main\/README.md\" target=\"_blank\" rel=\"noreferrer noopener\">README <\/a>file in the GitHub repository.<\/p>\n\n\n\n<p>I expect the next release will be 1.0.0, but I'd love to get some feedback. What commands need tweaking? What kind of reporting or information are you trying to get out of AD? I have enabled <a href=\"https:\/\/github.com\/jdhitsolutions\/ADReportingTools\/discussions\" target=\"_blank\" rel=\"noreferrer noopener\">Discussions <\/a>in the repo and encourage you to share feedback there. If you encounter a bug or problem with one of the commands, please post an Issue. I'm especially curious as to how the module works in the real world. My test domain is not large and definitely not complex, so I'm hoping you'll share your experiences with the module.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been using Active Directory for over 20 years. I was even one of the first 2000 IT Pros worldwide to obtain an MCSE on Windows 2000. Over the years, I&#8217;ve used a variety of management tools from command-line tools, to VBScript, and eventually PowerShell. Like many of you, I&#8217;ve used the ActiveDirectory module from&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"New on the blot: Better Active Directory Reporting with #PowerShell","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7,499,4],"tags":[539,240,221,534,540],"class_list":["post-8228","post","type-post","status-publish","format-standard","hentry","category-active-directory","category-github","category-powershell","tag-active-directory","tag-formatting","tag-module","tag-powershell","tag-scripting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Better Active Directory Reporting with PowerShell &#8226; The Lonely Administrator<\/title>\n<meta name=\"description\" content=\"If you have struggled to get information from Active Directory with the PowerShell module, my new project might be just what you need.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Better Active Directory Reporting with PowerShell &#8226; The Lonely Administrator\" \/>\n<meta property=\"og:description\" content=\"If you have struggled to get information from Active Directory with the PowerShell module, my new project might be just what you need.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/\" \/>\n<meta property=\"og:site_name\" content=\"The Lonely Administrator\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-18T13:56:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-18T13:56:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png\" \/>\n<meta name=\"author\" content=\"Jeffery Hicks\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@JeffHicks\" \/>\n<meta name=\"twitter:site\" content=\"@JeffHicks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeffery Hicks\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/\"},\"author\":{\"name\":\"Jeffery Hicks\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"headline\":\"Better Active Directory Reporting with PowerShell\",\"datePublished\":\"2021-03-18T13:56:48+00:00\",\"dateModified\":\"2021-03-18T13:56:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/\"},\"wordCount\":589,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/2PopulatedDomain01.png\",\"keywords\":[\"Active Directory\",\"formatting\",\"module\",\"PowerShell\",\"Scripting\"],\"articleSection\":[\"Active Directory\",\"GitHub\",\"PowerShell\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/\",\"name\":\"Better Active Directory Reporting with PowerShell &#8226; The Lonely Administrator\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/2PopulatedDomain01.png\",\"datePublished\":\"2021-03-18T13:56:48+00:00\",\"dateModified\":\"2021-03-18T13:56:51+00:00\",\"description\":\"If you have struggled to get information from Active Directory with the PowerShell module, my new project might be just what you need.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/2PopulatedDomain01.png\",\"contentUrl\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/2PopulatedDomain01.png\",\"width\":135,\"height\":119},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/active-directory\\\/8228\\\/better-active-directory-reporting-with-powershell\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Active Directory\",\"item\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/category\\\/active-directory\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Better Active Directory Reporting with PowerShell\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/\",\"name\":\"The Lonely Administrator\",\"description\":\"Practical Advice for the Automating IT Pro\",\"publisher\":{\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/jdhitsolutions.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0258030b41f07fd745f4078bdf5b6c9\",\"name\":\"Jeffery Hicks\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\",\"caption\":\"Jeffery Hicks\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Better Active Directory Reporting with PowerShell &#8226; The Lonely Administrator","description":"If you have struggled to get information from Active Directory with the PowerShell module, my new project might be just what you need.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/","og_locale":"en_US","og_type":"article","og_title":"Better Active Directory Reporting with PowerShell &#8226; The Lonely Administrator","og_description":"If you have struggled to get information from Active Directory with the PowerShell module, my new project might be just what you need.","og_url":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/","og_site_name":"The Lonely Administrator","article_published_time":"2021-03-18T13:56:48+00:00","article_modified_time":"2021-03-18T13:56:51+00:00","og_image":[{"url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png","type":"","width":"","height":""}],"author":"Jeffery Hicks","twitter_card":"summary_large_image","twitter_creator":"@JeffHicks","twitter_site":"@JeffHicks","twitter_misc":{"Written by":"Jeffery Hicks","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#article","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/"},"author":{"name":"Jeffery Hicks","@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"headline":"Better Active Directory Reporting with PowerShell","datePublished":"2021-03-18T13:56:48+00:00","dateModified":"2021-03-18T13:56:51+00:00","mainEntityOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/"},"wordCount":589,"commentCount":6,"publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png","keywords":["Active Directory","formatting","module","PowerShell","Scripting"],"articleSection":["Active Directory","GitHub","PowerShell"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/","url":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/","name":"Better Active Directory Reporting with PowerShell &#8226; The Lonely Administrator","isPartOf":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#primaryimage"},"image":{"@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#primaryimage"},"thumbnailUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png","datePublished":"2021-03-18T13:56:48+00:00","dateModified":"2021-03-18T13:56:51+00:00","description":"If you have struggled to get information from Active Directory with the PowerShell module, my new project might be just what you need.","breadcrumb":{"@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#primaryimage","url":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png","contentUrl":"https:\/\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/2PopulatedDomain01.png","width":135,"height":119},{"@type":"BreadcrumbList","@id":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8228\/better-active-directory-reporting-with-powershell\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Active Directory","item":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},{"@type":"ListItem","position":2,"name":"Better Active Directory Reporting with PowerShell"}]},{"@type":"WebSite","@id":"https:\/\/jdhitsolutions.com\/blog\/#website","url":"https:\/\/jdhitsolutions.com\/blog\/","name":"The Lonely Administrator","description":"Practical Advice for the Automating IT Pro","publisher":{"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jdhitsolutions.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/jdhitsolutions.com\/blog\/#\/schema\/person\/d0258030b41f07fd745f4078bdf5b6c9","name":"Jeffery Hicks","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg","caption":"Jeffery Hicks"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/832ae5d438fdcfc1420d720cd1991307927de8a0b12f2342e81c30f773e21098?s=96&d=wavatar&r=pg"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":8259,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8259\/active-directory-reporting-tools-released\/","url_meta":{"origin":8228,"position":0},"title":"Active Directory Reporting Tools Released","author":"Jeffery Hicks","date":"March 29, 2021","format":false,"excerpt":"Over the weekend, I published the 1.0 version of the ADReportingTools module to the PowerShell Gallery. I first wrote about this module a few weeks ago. I've made a number of changes since then and felt the module was ready for an official release. I'm continuing to add new features\u2026","rel":"","context":"In &quot;Active Directory&quot;","block_context":{"text":"Active Directory","link":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/open-adreportingtoolshelp.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/open-adreportingtoolshelp.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/open-adreportingtoolshelp.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/open-adreportingtoolshelp.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":8270,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8270\/active-directory-group-reporting\/","url_meta":{"origin":8228,"position":1},"title":"Active Directory Group Reporting","author":"Jeffery Hicks","date":"March 31, 2021","format":false,"excerpt":"I've pushed v1.2.0 of the ADReportingTools module to the PowerShell Gallery. The release adds the missing help for Get-ADComputerReport. I've also added better documentation and information in warning messages when running commands in the PowerShell ISE or VS Code. To re-iterate, the module is designed to be run from a\u2026","rel":"","context":"In &quot;Active Directory&quot;","block_context":{"text":"Active Directory","link":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/03\/Collection_DomainGroup01-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":8916,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/8916\/managing-raw-directorysearcher-data\/","url_meta":{"origin":8228,"position":2},"title":"Managing Raw DirectorySearcher Data","author":"Jeffery Hicks","date":"February 24, 2022","format":false,"excerpt":"Recently, I was chatting with my friend Gladys. As part of her work, she often creates Active Directory PowerShell-related tools for her colleagues. It is always good to be the toolmaker! Anyway, she doesn't want to rely on the Active Directory module from Remote Server Administration Tools (RSAT). There's no\u2026","rel":"","context":"In &quot;Active Directory&quot;","block_context":{"text":"Active Directory","link":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2022\/02\/resultpropertiescollection.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2022\/02\/resultpropertiescollection.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2022\/02\/resultpropertiescollection.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2022\/02\/resultpropertiescollection.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":8185,"url":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/8185\/scaling-the-active-directory-log-search-with-powershell\/","url_meta":{"origin":8228,"position":3},"title":"Scaling the Active Directory Log Search with PowerShell","author":"Jeffery Hicks","date":"February 16, 2021","format":false,"excerpt":"Recently, I posted a demonstration of how to find changes to your Active Directory using PowerShell. This process requires that you search through the Security event log on all your domain controllers. As a few people pointed out, myself included, this has the potential to not scale very well in\u2026","rel":"","context":"In &quot;Active Directory&quot;","block_context":{"text":"Active Directory","link":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2021\/02\/pexels-shuxuan-cao-4432160.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":148,"url":"https:\/\/jdhitsolutions.com\/blog\/powershell\/148\/order-managing-active-directory-with-windows-powershell-tfm-finally\/","url_meta":{"origin":8228,"position":4},"title":"Order Managing Active Directory with Windows PowerShell: TFM &#8211; Finally!","author":"Jeffery Hicks","date":"September 22, 2008","format":false,"excerpt":"Yes, its finally true. You can finally get your hands on Managing Active Directory with Windows PowerShell: TFM. The book is being printed so you can get your copy today. You can order it today at ScriptingOutpost.com in both print and ebook format. Or if you prefer the best of\u2026","rel":"","context":"In &quot;PowerShell&quot;","block_context":{"text":"PowerShell","link":"https:\/\/jdhitsolutions.com\/blog\/category\/powershell\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":553,"url":"https:\/\/jdhitsolutions.com\/blog\/active-directory\/553\/a-smart-psdrive-provider\/","url_meta":{"origin":8228,"position":5},"title":"A Smart PSDrive Provider","author":"Jeffery Hicks","date":"January 13, 2010","format":false,"excerpt":"I\u2019ve been doing a lot with the ActiveDirectory module that ships with Windows Server 2008 R2 and which you can also use with the Remote Server Administration Tools on WIndows 7.\u00a0 As I was trying things out with the PSDrive provider I discovered something very cool. When you load the\u2026","rel":"","context":"In &quot;Active Directory&quot;","block_context":{"text":"Active Directory","link":"https:\/\/jdhitsolutions.com\/blog\/category\/active-directory\/"},"img":{"alt_text":"captured_Image.png","src":"https:\/\/i0.wp.com\/jdhitsolutions.com\/blog\/wp-content\/uploads\/2010\/01\/captured_Image.png_thumb.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=8228"}],"version-history":[{"count":0,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/8228\/revisions"}],"wp:attachment":[{"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=8228"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=8228"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdhitsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=8228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}