{"id":5876,"date":"2025-04-14T08:40:33","date_gmt":"2025-04-14T06:40:33","guid":{"rendered":"https:\/\/www.msb365.blog\/?p=5876"},"modified":"2025-04-14T08:40:33","modified_gmt":"2025-04-14T06:40:33","slug":"conditional-access-reporting","status":"publish","type":"post","link":"https:\/\/www.msb365.blog\/?p=5876","title":{"rendered":"Conditional Access Reporting"},"content":{"rendered":"<p>This article is a documentation for another script which I have written and would like to make available to the community.<\/p>\n<p>The script refers to the conditional access policies. And can be used in several ways.<br \/>\nThe admin should be able to create a simple report of the existing conditional access policies for his customers.<br \/>\nThis works as an HTML report, but also as a CSV report.<\/p>\n<p>The admin also has the option of exporting the existing conditional access policies and importing them into another tenant.<br \/>\nThe idea is that a \u201cgold config\u201d can be created with standardized conditional access policies, which can then be used for other tenants.<br \/>\nThis ensures that all customers have the identical configuration.<\/p>\n<p>\u00a0<\/p>\n<h3>Script functionality:<\/h3>\n<p>The script can be started without prior adjustments.<br \/>\nIt works as follows:<br \/>\nWhen the script is started, the first thing that appears is a small menu with the following items:<\/p>\n<ol>\n<li>Create HTML<\/li>\n<li>Create CSV<\/li>\n<li>Export CA Policies<\/li>\n<li>Import CA Policies<\/li>\n<\/ol>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-large wp-image-5878\" src=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131007-1024x577.png\" alt=\"\" width=\"1024\" height=\"577\" srcset=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131007-1024x577.png 1024w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131007-300x169.png 300w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131007-768x433.png 768w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131007-1000x563.png 1000w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131007.png 1115w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>A connection to the Microsoft 365 tenant only takes place after the corresponding menu item is selected.<br \/>\nIn the application example here, I have opted for the first option, <strong>Generate HTML Report<\/strong>.<br \/>\nAfter the appropriate credentials have been entered, the script uses the Microsoft Graph interface to execute the desired tasks.<br \/>\nIt also shows which authorizations are required.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-5880\" src=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131105.png\" alt=\"\" width=\"568\" height=\"1006\" srcset=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131105.png 568w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131105-169x300.png 169w\" sizes=\"(max-width: 568px) 100vw, 568px\" \/><\/p>\n<p>Then the desired HTML report is created, which is saved in the same location from where the script is executed.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-large wp-image-5879\" src=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131244-881x1024.png\" alt=\"\" width=\"881\" height=\"1024\" srcset=\"https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131244-881x1024.png 881w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131244-258x300.png 258w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131244-768x893.png 768w, https:\/\/msb365.abstergo.ch\/wp-content\/uploads\/2025\/04\/Screenshot-2025-04-11-131244.png 1099w\" sizes=\"(max-width: 881px) 100vw, 881px\" \/><\/p>\n<p>\u00a0<\/p>\n<h3>Get the Script<\/h3>\n<p>As always, although I have tested and used the script several times, I cannot and will not accept any liability for the use of this script.<br \/>\nReaders who download the script are free to customize it according to their needs. Commercial use is allowed, but monetarization requires my explicit permission.<\/p>\n<div class=\"vlp-link-container vlp-layout-basic\"><a href=\"https:\/\/github.com\/MSB365\/ConditionalAccessReport\" class=\"vlp-link\" title=\"GitHub - MSB365\/ConditionalAccessReport\" rel=\"nofollow\" target=\"_blank\"><\/a><div class=\"vlp-layout-zone-side\"><div class=\"vlp-block-2 vlp-link-image\"><img decoding=\"async\" src=\"https:\/\/opengraph.githubassets.com\/e0392653cac054b7bb3f4e11793330b1154f83d13af1eb364c90f4294d2adddc\/MSB365\/ConditionalAccessReport\" style=\"max-width: 150px; max-height: 150px\" \/><\/div><\/div><div class=\"vlp-layout-zone-main\"><div class=\"vlp-block-0 vlp-link-title\">GitHub - MSB365\/ConditionalAccessReport<\/div><div class=\"vlp-block-1 vlp-link-summary\">Contribute to MSB365\/ConditionalAccessReport development by creating an account on GitHub.<\/div><\/div><\/div>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article is a documentation for another script which I have written and would like to make available to the community. The script refers to the conditional access policies. And can be used in several ways. The admin should be able to create a simple report of the existing conditional access policies for his customers. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5882,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[12,1923,3],"tags":[],"class_list":["post-5876","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-microsoft-365","category-powershell"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/5876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5876"}],"version-history":[{"count":2,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/5876\/revisions"}],"predecessor-version":[{"id":5881,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/posts\/5876\/revisions\/5881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=\/wp\/v2\/media\/5882"}],"wp:attachment":[{"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.msb365.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}