From 7688071899e20fa53fb7b8f4676147494ec00ee8 Mon Sep 17 00:00:00 2001
From: DrIOS <58635327+DrIOSX@users.noreply.github.com>
Date: Sun, 7 Jul 2024 17:15:05 -0500
Subject: [PATCH] docs: Update Markdown
---
help/Export-M365SecurityAuditTable.md | 66 +-
help/Get-AdminRoleUserLicense.md | 2 +-
help/Get-MFAStatus.md | 48 +-
help/Grant-M365SecurityAuditConsent.md | 54 +-
help/Invoke-M365SecurityAudit.md | 220 +--
help/Sync-CISExcelAndCsvData.md | 36 +-
help/about_M365FoundationsCISReport.md | 6 +-
.../en-US/M365FoundationsCISReport-help.xml | 1188 ++++++++---------
.../about_M365FoundationsCISReport.help.txt | 6 +-
9 files changed, 815 insertions(+), 811 deletions(-)
diff --git a/help/Export-M365SecurityAuditTable.md b/help/Export-M365SecurityAuditTable.md
index 07eb7cf..3a05f2e 100644
--- a/help/Export-M365SecurityAuditTable.md
+++ b/help/Export-M365SecurityAuditTable.md
@@ -1,4 +1,4 @@
----
+---
external help file: M365FoundationsCISReport-help.xml
Module Name: M365FoundationsCISReport
online version: https://criticalsolutionsnetwork.github.io/M365FoundationsCISReport/#Export-M365SecurityAuditTable
@@ -109,22 +109,6 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -OutputTestNumber
-The test number to output as an object.
-Valid values are "1.1.1", "1.3.1", "6.1.2", "6.1.3", "7.3.4".
-
-```yaml
-Type: String
-Parameter Sets: OutputObjectFromAuditResultsSingle, OutputObjectFromCsvSingle
-Aliases:
-
-Required: True
-Position: 2
-Default value: None
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
### -ExportAllTests
Switch to export all test results.
@@ -140,6 +124,21 @@ Accept pipeline input: False
Accept wildcard characters: False
```
+### -ExportOriginalTests
+Switch to export the original audit results to a CSV file.
+
+```yaml
+Type: SwitchParameter
+Parameter Sets: ExportAllResultsFromAuditResults, ExportAllResultsFromCsv
+Aliases:
+
+Required: True
+Position: Named
+Default value: False
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
### -ExportPath
The path where the CSV files will be exported.
@@ -155,21 +154,6 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -ExportOriginalTests
-Switch to export the original audit results to a CSV file.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: ExportAllResultsFromAuditResults, ExportAllResultsFromCsv
-Aliases:
-
-Required: True
-Position: Named
-Default value: False
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
### -ExportToExcel
Switch to export the results to an Excel file.
@@ -185,13 +169,29 @@ Accept pipeline input: False
Accept wildcard characters: False
```
+### -OutputTestNumber
+The test number to output as an object.
+Valid values are "1.1.1", "1.3.1", "6.1.2", "6.1.3", "7.3.4".
+
+```yaml
+Type: String
+Parameter Sets: OutputObjectFromAuditResultsSingle, OutputObjectFromCsvSingle
+Aliases:
+
+Required: True
+Position: 2
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
## INPUTS
### [CISAuditResult[]] - An array of CISAuditResult objects.
-### [string] - A path to a CSV file.
+### [string] - A path to a CSV file.
## OUTPUTS
### [PSCustomObject] - A custom object containing the path to the zip file and its hash.
diff --git a/help/Get-AdminRoleUserLicense.md b/help/Get-AdminRoleUserLicense.md
index 0100860..a36d202 100644
--- a/help/Get-AdminRoleUserLicense.md
+++ b/help/Get-AdminRoleUserLicense.md
@@ -63,7 +63,7 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
## OUTPUTS
### PSCustomObject
-### Returns a custom object for each user with administrative roles that includes the following properties: RoleName, UserName, UserPrincipalName, UserId, HybridUser, and Licenses.
+### Returns a custom object for each user with administrative roles that includes the following properties: RoleName, UserName, UserPrincipalName, UserId, HybridUser, and Licenses.
## NOTES
Creation Date: 2024-04-15
Purpose/Change: Initial function development to support Microsoft 365 administrative role auditing.
diff --git a/help/Get-MFAStatus.md b/help/Get-MFAStatus.md
index c64235b..daf0520 100644
--- a/help/Get-MFAStatus.md
+++ b/help/Get-MFAStatus.md
@@ -1,4 +1,4 @@
----
+---
external help file: M365FoundationsCISReport-help.xml
Module Name: M365FoundationsCISReport
online version: https://criticalsolutionsnetwork.github.io/M365FoundationsCISReport/#Get-MFAStatus
@@ -36,6 +36,21 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
## PARAMETERS
+### -SkipMSOLConnectionChecks
+{{ Fill SkipMSOLConnectionChecks Description }}
+
+```yaml
+Type: SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: False
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
### -UserId
The User Principal Name (UPN) of a specific user to retrieve MFA status for.
If not provided, the function retrieves MFA status for all users.
@@ -52,21 +67,6 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -SkipMSOLConnectionChecks
-{{ Fill SkipMSOLConnectionChecks Description }}
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: Named
-Default value: False
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
@@ -75,14 +75,14 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
## OUTPUTS
### System.Object
-### Returns a sorted list of custom objects containing the following properties:
-### - UserPrincipalName
-### - DisplayName
-### - MFAState
-### - MFADefaultMethod
-### - MFAPhoneNumber
-### - PrimarySMTP
-### - Aliases
+### Returns a sorted list of custom objects containing the following properties:
+### - UserPrincipalName
+### - DisplayName
+### - MFAState
+### - MFADefaultMethod
+### - MFAPhoneNumber
+### - PrimarySMTP
+### - Aliases
## NOTES
The function requires the MSOL module to be installed and connected to your tenant.
Ensure that you have the necessary permissions to read user and MFA status information.
diff --git a/help/Grant-M365SecurityAuditConsent.md b/help/Grant-M365SecurityAuditConsent.md
index c5c5564..eb1c7aa 100644
--- a/help/Grant-M365SecurityAuditConsent.md
+++ b/help/Grant-M365SecurityAuditConsent.md
@@ -1,4 +1,4 @@
----
+---
external help file: M365FoundationsCISReport-help.xml
Module Name: M365FoundationsCISReport
online version: https://criticalsolutionsnetwork.github.io/M365FoundationsCISReport/#Grant-M365SecurityAuditConsent
@@ -40,18 +40,18 @@ Grants Microsoft Graph permissions to user@example.com, skipping the connection
## PARAMETERS
-### -UserPrincipalNameForConsent
-Specify the UPN of the user to grant consent for.
+### -DoNotDisconnect
+If specified, does not disconnect from Microsoft Graph after granting consent.
```yaml
-Type: String
+Type: SwitchParameter
Parameter Sets: (All)
Aliases:
-Required: True
-Position: 1
-Default value: None
-Accept pipeline input: True (ByPropertyName, ByValue)
+Required: False
+Position: Named
+Default value: False
+Accept pipeline input: False
Accept wildcard characters: False
```
@@ -100,17 +100,32 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -DoNotDisconnect
-If specified, does not disconnect from Microsoft Graph after granting consent.
+### -UserPrincipalNameForConsent
+Specify the UPN of the user to grant consent for.
+
+```yaml
+Type: String
+Parameter Sets: (All)
+Aliases:
+
+Required: True
+Position: 1
+Default value: None
+Accept pipeline input: True (ByPropertyName, ByValue)
+Accept wildcard characters: False
+```
+
+### -Confirm
+Prompts you for confirmation before running the cmdlet.
```yaml
Type: SwitchParameter
Parameter Sets: (All)
-Aliases:
+Aliases: cf
Required: False
Position: Named
-Default value: False
+Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```
@@ -131,21 +146,6 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -Confirm
-Prompts you for confirmation before running the cmdlet.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases: cf
-
-Required: False
-Position: Named
-Default value: None
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
diff --git a/help/Invoke-M365SecurityAudit.md b/help/Invoke-M365SecurityAudit.md
index 886c5d2..34ff707 100644
--- a/help/Invoke-M365SecurityAudit.md
+++ b/help/Invoke-M365SecurityAudit.md
@@ -1,4 +1,4 @@
----
+---
external help file: M365FoundationsCISReport-help.xml
Module Name: M365FoundationsCISReport
online version: https://criticalsolutionsnetwork.github.io/M365FoundationsCISReport/#Invoke-M365SecurityAudit
@@ -165,12 +165,26 @@ What if: Performing the operation "Invoke-M365SecurityAudit" on target "Microsof
## PARAMETERS
-### -TenantAdminUrl
-The URL of the tenant admin.
-If not specified, none of the SharePoint Online tests will run.
+### -ApprovedCloudStorageProviders
+Specifies the approved cloud storage providers for the audit. Accepts an array of cloud storage provider names.
```yaml
-Type: String
+Type: String[]
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: @()
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ApprovedFederatedDomains
+Specifies the approved federated domains for the audit test 8.2.1. Accepts an array of allowed domain names.
+
+```yaml
+Type: String[]
Parameter Sets: (All)
Aliases:
@@ -196,25 +210,54 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -ELevel
-Specifies the E-Level (E3 or E5) for the audit.
-This parameter is optional and can be combined with the ProfileLevel parameter.
+### -DoNotConfirmConnections
+If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
```yaml
-Type: String
-Parameter Sets: ELevelFilter
+Type: SwitchParameter
+Parameter Sets: (All)
Aliases:
-Required: True
+Required: False
Position: Named
-Default value: None
+Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```
-### -ProfileLevel
-Specifies the profile level (L1 or L2) for the audit.
-This parameter is optional and can be combined with the ELevel parameter.
+### -DoNotConnect
+If specified, the cmdlet will not establish a connection to Microsoft 365 services.
+
+```yaml
+Type: SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: False
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -DoNotDisconnect
+If specified, the cmdlet will not disconnect from Microsoft 365 services after execution.
+
+```yaml
+Type: SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: False
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ELevel
+Specifies the E-Level (E3 or E5) for the audit.
+This parameter is optional and can be combined with the ProfileLevel parameter.
```yaml
Type: String
@@ -289,6 +332,37 @@ Accept pipeline input: False
Accept wildcard characters: False
```
+### -NoModuleCheck
+If specified, the cmdlet will not check for the presence of required modules.
+
+```yaml
+Type: SwitchParameter
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: Named
+Default value: False
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
+### -ProfileLevel
+Specifies the profile level (L1 or L2) for the audit.
+This parameter is optional and can be combined with the ELevel parameter.
+
+```yaml
+Type: String
+Parameter Sets: ELevelFilter
+Aliases:
+
+Required: True
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
### -SkipRecommendation
Specifies specific recommendations to exclude from the audit.
Accepts an array of recommendation numbers.
@@ -305,105 +379,15 @@ Accept pipeline input: False
Accept wildcard characters: False
```
-### -ApprovedCloudStorageProviders
-Specifies the approved cloud storage providers for the audit. Accepts an array of cloud storage provider names.
+### -TenantAdminUrl
+The URL of the tenant admin.
+If not specified, none of the SharePoint Online tests will run.
```yaml
-Type: String[]
+Type: String
Parameter Sets: (All)
Aliases:
-Required: False
-Position: Named
-Default value: @()
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
-### -ApprovedFederatedDomains
-Specifies the approved federated domains for the audit test 8.2.1. Accepts an array of allowed domain names.
-
-```yaml
-Type: String[]
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: Named
-Default value: None
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
-### -DoNotConnect
-If specified, the cmdlet will not establish a connection to Microsoft 365 services.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: Named
-Default value: False
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
-### -DoNotDisconnect
-If specified, the cmdlet will not disconnect from Microsoft 365 services after execution.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: Named
-Default value: False
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
-### -NoModuleCheck
-If specified, the cmdlet will not check for the presence of required modules.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: Named
-Default value: False
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
-### -DoNotConfirmConnections
-If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: Named
-Default value: False
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
-### -WhatIf
-Shows what would happen if the cmdlet runs.
-The cmdlet is not run.
-
-```yaml
-Type: SwitchParameter
-Parameter Sets: (All)
-Aliases: wi
-
Required: False
Position: Named
Default value: None
@@ -426,6 +410,22 @@ Accept pipeline input: False
Accept wildcard characters: False
```
+### -WhatIf
+Shows what would happen if the cmdlet runs.
+The cmdlet is not run.
+
+```yaml
+Type: SwitchParameter
+Parameter Sets: (All)
+Aliases: wi
+
+Required: False
+Position: Named
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
@@ -435,7 +435,7 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
## OUTPUTS
### CISAuditResult[]
-### The cmdlet returns an array of CISAuditResult objects representing the results of the security audit.
+### The cmdlet returns an array of CISAuditResult objects representing the results of the security audit.
## NOTES
- This module is based on CIS benchmarks.
- Governed by the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
diff --git a/help/Sync-CISExcelAndCsvData.md b/help/Sync-CISExcelAndCsvData.md
index 758f362..c869002 100644
--- a/help/Sync-CISExcelAndCsvData.md
+++ b/help/Sync-CISExcelAndCsvData.md
@@ -1,4 +1,4 @@
----
+---
external help file: M365FoundationsCISReport-help.xml
Module Name: M365FoundationsCISReport
online version: https://criticalsolutionsnetwork.github.io/M365FoundationsCISReport/#Sync-CISExcelAndCsvData
@@ -32,22 +32,6 @@ Updates the 'AuditData' worksheet in 'excel.xlsx' with data from 'data.csv', add
## PARAMETERS
-### -ExcelPath
-Specifies the path to the Excel file to be updated.
-This parameter is mandatory.
-
-```yaml
-Type: String
-Parameter Sets: (All)
-Aliases:
-
-Required: False
-Position: 1
-Default value: None
-Accept pipeline input: False
-Accept wildcard characters: False
-```
-
### -CsvPath
Specifies the path to the CSV file containing new data.
This parameter is mandatory.
@@ -64,6 +48,22 @@ Accept pipeline input: False
Accept wildcard characters: False
```
+### -ExcelPath
+Specifies the path to the Excel file to be updated.
+This parameter is mandatory.
+
+```yaml
+Type: String
+Parameter Sets: (All)
+Aliases:
+
+Required: False
+Position: 1
+Default value: None
+Accept pipeline input: False
+Accept wildcard characters: False
+```
+
### -SheetName
Specifies the name of the worksheet in the Excel file where data will be merged and updated.
This parameter is mandatory.
@@ -86,7 +86,7 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable
## INPUTS
### System.String
-### The function accepts strings for file paths and worksheet names.
+### The function accepts strings for file paths and worksheet names.
## OUTPUTS
### None
diff --git a/help/about_M365FoundationsCISReport.md b/help/about_M365FoundationsCISReport.md
index 709b089..fae7e88 100644
--- a/help/about_M365FoundationsCISReport.md
+++ b/help/about_M365FoundationsCISReport.md
@@ -18,9 +18,11 @@ The module includes functionality to synchronize audit results with CIS benchmar
```powershell
# Example 1: Performing a security audit based on CIS benchmarks
$auditResults = Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com"
+$auditResults = Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com" -DomainName "contoso.com" -ApprovedCloudStorageProviders "DropBox" -ApprovedFederatedDomains "northwind.com"
-# Example 2: Exporting a security audit table to a CSV file
-Export-M365SecurityAuditTable -ExportAllTests -AuditResults $auditResults -ExportPath "C:\temp" -ExportOriginalTests
+# Example 2: Exporting a security audit and it's nested tables to zipped CSV files
+Export-M365SecurityAuditTable -AuditResults $auditResults -ExportPath "C:\temp" -ExportOriginalTests -ExportAllTests
+ # Output Ex: 2024.07.07_14.55.55_M365FoundationsAudit_368B2E2F.zip
# Example 3: Retrieving licenses for users in administrative roles
Get-AdminRoleUserLicense
diff --git a/source/en-US/M365FoundationsCISReport-help.xml b/source/en-US/M365FoundationsCISReport-help.xml
index d9a795e..0feb087 100644
--- a/source/en-US/M365FoundationsCISReport-help.xml
+++ b/source/en-US/M365FoundationsCISReport-help.xml
@@ -65,6 +65,17 @@
None
+
+ ExportOriginalTests
+
+ Switch to export the original audit results to a CSV file.
+
+
+ SwitchParameter
+
+
+ False
+
ExportPath
@@ -77,17 +88,6 @@
None
-
- ExportOriginalTests
-
- Switch to export the original audit results to a CSV file.
-
-
- SwitchParameter
-
-
- False
-
ExportToExcel
@@ -152,6 +152,17 @@
None
+
+ ExportOriginalTests
+
+ Switch to export the original audit results to a CSV file.
+
+
+ SwitchParameter
+
+
+ False
+
ExportPath
@@ -164,17 +175,6 @@
None
-
- ExportOriginalTests
-
- Switch to export the original audit results to a CSV file.
-
-
- SwitchParameter
-
-
- False
-
ExportToExcel
@@ -213,18 +213,6 @@
None
-
- OutputTestNumber
-
- The test number to output as an object. Valid values are "1.1.1", "1.3.1", "6.1.2", "6.1.3", "7.3.4".
-
- String
-
- String
-
-
- None
-
ExportAllTests
@@ -237,6 +225,18 @@
False
+
+ ExportOriginalTests
+
+ Switch to export the original audit results to a CSV file.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+ False
+
ExportPath
@@ -249,18 +249,6 @@
None
-
- ExportOriginalTests
-
- Switch to export the original audit results to a CSV file.
-
- SwitchParameter
-
- SwitchParameter
-
-
- False
-
ExportToExcel
@@ -273,6 +261,18 @@
False
+
+ OutputTestNumber
+
+ The test number to output as an object. Valid values are "1.1.1", "1.3.1", "6.1.2", "6.1.3", "7.3.4".
+
+ String
+
+ String
+
+
+ None
+
@@ -503,18 +503,6 @@
-
- UserId
-
- The User Principal Name (UPN) of a specific user to retrieve MFA status for. If not provided, the function retrieves MFA status for all users.
-
- String
-
- String
-
-
- None
-
SkipMSOLConnectionChecks
@@ -527,6 +515,18 @@
False
+
+ UserId
+
+ The User Principal Name (UPN) of a specific user to retrieve MFA status for. If not provided, the function retrieves MFA status for all users.
+
+ String
+
+ String
+
+
+ None
+
@@ -660,6 +660,17 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DoNotDisconnect
+
+ If specified, does not disconnect from Microsoft Graph after granting consent.
+
+
+ SwitchParameter
+
+
+ False
+
SkipGraphConnection
@@ -693,10 +704,10 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- DoNotDisconnect
+
+ Confirm
- If specified, does not disconnect from Microsoft Graph after granting consent.
+ Prompts you for confirmation before running the cmdlet.
SwitchParameter
@@ -715,31 +726,20 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
-
- UserPrincipalNameForConsent
+
+ DoNotDisconnect
- Specify the UPN of the user to grant consent for.
+ If specified, does not disconnect from Microsoft Graph after granting consent.
- String
+ SwitchParameter
- String
+ SwitchParameter
- None
+ False
SkipGraphConnection
@@ -777,10 +777,22 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- DoNotDisconnect
+
+ UserPrincipalNameForConsent
- If specified, does not disconnect from Microsoft Graph after granting consent.
+ Specify the UPN of the user to grant consent for.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
SwitchParameter
@@ -801,18 +813,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
- SwitchParameter
-
- SwitchParameter
-
-
- False
-
@@ -869,13 +869,25 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
Invoke-M365SecurityAudit
- TenantAdminUrl
+ ApprovedCloudStorageProviders
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+ Specifies the approved cloud storage providers for the audit. Accepts an array of cloud storage provider names.
- String
+ String[]
- String
+ String[]
+
+
+ @()
+
+
+ ApprovedFederatedDomains
+
+ Specifies the approved federated domains for the audit test 8.2.1. Accepts an array of allowed domain names.
+
+ String[]
+
+ String[]
None
@@ -892,6 +904,39 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DoNotConfirmConnections
+
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ DoNotConnect
+
+ If specified, the cmdlet will not establish a connection to Microsoft 365 services.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ DoNotDisconnect
+
+ If specified, the cmdlet will not disconnect from Microsoft 365 services after execution.
+
+
+ SwitchParameter
+
+
+ False
+
ELevel
@@ -904,6 +949,17 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ NoModuleCheck
+
+ If specified, the cmdlet will not check for the presence of required modules.
+
+
+ SwitchParameter
+
+
+ False
+
ProfileLevel
@@ -916,6 +972,43 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ TenantAdminUrl
+
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ WhatIf
+
+ Shows what would happen if the cmdlet runs. The cmdlet is not run.
+
+
+ SwitchParameter
+
+
+ False
+
+
+
+ Invoke-M365SecurityAudit
ApprovedCloudStorageProviders
@@ -940,6 +1033,29 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DomainName
+
+ The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
+
+ String
+
+ String
+
+
+ None
+
+
+ DoNotConfirmConnections
+
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+
+
+ SwitchParameter
+
+
+ False
+
DoNotConnect
@@ -962,77 +1078,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- NoModuleCheck
-
- If specified, the cmdlet will not check for the presence of required modules.
-
-
- SwitchParameter
-
-
- False
-
-
- DoNotConfirmConnections
-
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
-
-
- SwitchParameter
-
-
- False
-
-
- WhatIf
-
- Shows what would happen if the cmdlet runs. The cmdlet is not run.
-
-
- SwitchParameter
-
-
- False
-
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
-
-
- Invoke-M365SecurityAudit
-
- TenantAdminUrl
-
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
-
- String
-
- String
-
-
- None
-
-
- DomainName
-
- The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
-
- String
-
- String
-
-
- None
-
IncludeIG1
@@ -1044,6 +1089,54 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
+
+ NoModuleCheck
+
+ If specified, the cmdlet will not check for the presence of required modules.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ TenantAdminUrl
+
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ WhatIf
+
+ Shows what would happen if the cmdlet runs. The cmdlet is not run.
+
+
+ SwitchParameter
+
+
+ False
+
+
+
+ Invoke-M365SecurityAudit
ApprovedCloudStorageProviders
@@ -1068,6 +1161,29 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DomainName
+
+ The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
+
+ String
+
+ String
+
+
+ None
+
+
+ DoNotConfirmConnections
+
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+
+
+ SwitchParameter
+
+
+ False
+
DoNotConnect
@@ -1090,77 +1206,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- NoModuleCheck
-
- If specified, the cmdlet will not check for the presence of required modules.
-
-
- SwitchParameter
-
-
- False
-
-
- DoNotConfirmConnections
-
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
-
-
- SwitchParameter
-
-
- False
-
-
- WhatIf
-
- Shows what would happen if the cmdlet runs. The cmdlet is not run.
-
-
- SwitchParameter
-
-
- False
-
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
-
-
- Invoke-M365SecurityAudit
-
- TenantAdminUrl
-
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
-
- String
-
- String
-
-
- None
-
-
- DomainName
-
- The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
-
- String
-
- String
-
-
- None
-
IncludeIG2
@@ -1172,6 +1217,54 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
+
+ NoModuleCheck
+
+ If specified, the cmdlet will not check for the presence of required modules.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ TenantAdminUrl
+
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ WhatIf
+
+ Shows what would happen if the cmdlet runs. The cmdlet is not run.
+
+
+ SwitchParameter
+
+
+ False
+
+
+
+ Invoke-M365SecurityAudit
ApprovedCloudStorageProviders
@@ -1196,6 +1289,29 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DomainName
+
+ The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
+
+ String
+
+ String
+
+
+ None
+
+
+ DoNotConfirmConnections
+
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+
+
+ SwitchParameter
+
+
+ False
+
DoNotConnect
@@ -1218,77 +1334,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- NoModuleCheck
-
- If specified, the cmdlet will not check for the presence of required modules.
-
-
- SwitchParameter
-
-
- False
-
-
- DoNotConfirmConnections
-
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
-
-
- SwitchParameter
-
-
- False
-
-
- WhatIf
-
- Shows what would happen if the cmdlet runs. The cmdlet is not run.
-
-
- SwitchParameter
-
-
- False
-
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
-
-
- Invoke-M365SecurityAudit
-
- TenantAdminUrl
-
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
-
- String
-
- String
-
-
- None
-
-
- DomainName
-
- The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
-
- String
-
- String
-
-
- None
-
IncludeIG3
@@ -1300,6 +1345,54 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
+
+ NoModuleCheck
+
+ If specified, the cmdlet will not check for the presence of required modules.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ TenantAdminUrl
+
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ WhatIf
+
+ Shows what would happen if the cmdlet runs. The cmdlet is not run.
+
+
+ SwitchParameter
+
+
+ False
+
+
+
+ Invoke-M365SecurityAudit
ApprovedCloudStorageProviders
@@ -1324,6 +1417,29 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DomainName
+
+ The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
+
+ String
+
+ String
+
+
+ None
+
+
+ DoNotConfirmConnections
+
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+
+
+ SwitchParameter
+
+
+ False
+
DoNotConnect
@@ -1346,77 +1462,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- NoModuleCheck
-
- If specified, the cmdlet will not check for the presence of required modules.
-
-
- SwitchParameter
-
-
- False
-
-
- DoNotConfirmConnections
-
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
-
-
- SwitchParameter
-
-
- False
-
-
- WhatIf
-
- Shows what would happen if the cmdlet runs. The cmdlet is not run.
-
-
- SwitchParameter
-
-
- False
-
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
-
-
- Invoke-M365SecurityAudit
-
- TenantAdminUrl
-
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
-
- String
-
- String
-
-
- None
-
-
- DomainName
-
- The domain name of the Microsoft 365 environment to test. This parameter is not mandatory and by default it will pass/fail all found domains as a group if a specific domain is not specified.
-
- String
-
- String
-
-
- None
-
IncludeRecommendation
@@ -1429,6 +1474,54 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ NoModuleCheck
+
+ If specified, the cmdlet will not check for the presence of required modules.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ TenantAdminUrl
+
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
+
+
+ SwitchParameter
+
+
+ False
+
+
+ WhatIf
+
+ Shows what would happen if the cmdlet runs. The cmdlet is not run.
+
+
+ SwitchParameter
+
+
+ False
+
+
+
+ Invoke-M365SecurityAudit
ApprovedCloudStorageProviders
@@ -1453,87 +1546,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
-
- DoNotConnect
-
- If specified, the cmdlet will not establish a connection to Microsoft 365 services.
-
-
- SwitchParameter
-
-
- False
-
-
- DoNotDisconnect
-
- If specified, the cmdlet will not disconnect from Microsoft 365 services after execution.
-
-
- SwitchParameter
-
-
- False
-
-
- NoModuleCheck
-
- If specified, the cmdlet will not check for the presence of required modules.
-
-
- SwitchParameter
-
-
- False
-
-
- DoNotConfirmConnections
-
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
-
-
- SwitchParameter
-
-
- False
-
-
- WhatIf
-
- Shows what would happen if the cmdlet runs. The cmdlet is not run.
-
-
- SwitchParameter
-
-
- False
-
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
-
-
- Invoke-M365SecurityAudit
-
- TenantAdminUrl
-
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
-
- String
-
- String
-
-
- None
-
DomainName
@@ -1546,41 +1558,16 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
-
- SkipRecommendation
-
- Specifies specific recommendations to exclude from the audit. Accepts an array of recommendation numbers.
-
- String[]
-
- String[]
-
-
- None
-
- ApprovedCloudStorageProviders
+ DoNotConfirmConnections
- Specifies the approved cloud storage providers for the audit. Accepts an array of cloud storage provider names.
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
- String[]
- String[]
+ SwitchParameter
- @()
-
-
- ApprovedFederatedDomains
-
- Specifies the approved federated domains for the audit test 8.2.1. Accepts an array of allowed domain names.
-
- String[]
-
- String[]
-
-
- None
+ False
DoNotConnect
@@ -1615,10 +1602,34 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- DoNotConfirmConnections
+
+ SkipRecommendation
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+ Specifies specific recommendations to exclude from the audit. Accepts an array of recommendation numbers.
+
+ String[]
+
+ String[]
+
+
+ None
+
+
+ TenantAdminUrl
+
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+
+ String
+
+ String
+
+
+ None
+
+
+ Confirm
+
+ Prompts you for confirmation before running the cmdlet.
SwitchParameter
@@ -1637,28 +1648,29 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
-
- SwitchParameter
-
-
- False
-
- TenantAdminUrl
+ ApprovedCloudStorageProviders
- The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
+ Specifies the approved cloud storage providers for the audit. Accepts an array of cloud storage provider names.
- String
+ String[]
- String
+ String[]
+
+
+ @()
+
+
+ ApprovedFederatedDomains
+
+ Specifies the approved federated domains for the audit test 8.2.1. Accepts an array of allowed domain names.
+
+ String[]
+
+ String[]
None
@@ -1675,6 +1687,42 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ DoNotConfirmConnections
+
+ If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+ False
+
+
+ DoNotConnect
+
+ If specified, the cmdlet will not establish a connection to Microsoft 365 services.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+ False
+
+
+ DoNotDisconnect
+
+ If specified, the cmdlet will not disconnect from Microsoft 365 services after execution.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+ False
+
ELevel
@@ -1687,18 +1735,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
-
- ProfileLevel
-
- Specifies the profile level (L1 or L2) for the audit. This parameter is optional and can be combined with the ELevel parameter.
-
- String
-
- String
-
-
- None
-
IncludeIG1
@@ -1747,6 +1783,30 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
+
+ NoModuleCheck
+
+ If specified, the cmdlet will not check for the presence of required modules.
+
+ SwitchParameter
+
+ SwitchParameter
+
+
+ False
+
+
+ ProfileLevel
+
+ Specifies the profile level (L1 or L2) for the audit. This parameter is optional and can be combined with the ELevel parameter.
+
+ String
+
+ String
+
+
+ None
+
SkipRecommendation
@@ -1760,69 +1820,21 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
None
- ApprovedCloudStorageProviders
+ TenantAdminUrl
- Specifies the approved cloud storage providers for the audit. Accepts an array of cloud storage provider names.
+ The URL of the tenant admin. If not specified, none of the SharePoint Online tests will run.
- String[]
+ String
- String[]
-
-
- @()
-
-
- ApprovedFederatedDomains
-
- Specifies the approved federated domains for the audit test 8.2.1. Accepts an array of allowed domain names.
-
- String[]
-
- String[]
+ String
None
-
- DoNotConnect
+
+ Confirm
- If specified, the cmdlet will not establish a connection to Microsoft 365 services.
-
- SwitchParameter
-
- SwitchParameter
-
-
- False
-
-
- DoNotDisconnect
-
- If specified, the cmdlet will not disconnect from Microsoft 365 services after execution.
-
- SwitchParameter
-
- SwitchParameter
-
-
- False
-
-
- NoModuleCheck
-
- If specified, the cmdlet will not check for the presence of required modules.
-
- SwitchParameter
-
- SwitchParameter
-
-
- False
-
-
- DoNotConfirmConnections
-
- If specified, the cmdlet will not prompt for confirmation before proceeding with established connections and will disconnect from all of them.
+ Prompts you for confirmation before running the cmdlet.
SwitchParameter
@@ -1843,18 +1855,6 @@ Retrieves the MFA status for the specified user with the UPN "example@domain.com
False
-
- Confirm
-
- Prompts you for confirmation before running the cmdlet.
-
- SwitchParameter
-
- SwitchParameter
-
-
- False
-
@@ -2099,10 +2099,10 @@ This command imports data from the "Sheet1" worksheet in the "Report.xlsx" file,
-
- ExcelPath
+
+ CsvPath
- Specifies the path to the Excel file to be updated. This parameter is mandatory.
+ Specifies the path to the CSV file containing new data. This parameter is mandatory.
String
@@ -2111,10 +2111,10 @@ This command imports data from the "Sheet1" worksheet in the "Report.xlsx" file,
None
-
- CsvPath
+
+ ExcelPath
- Specifies the path to the CSV file containing new data. This parameter is mandatory.
+ Specifies the path to the Excel file to be updated. This parameter is mandatory.
String
diff --git a/source/en-US/about_M365FoundationsCISReport.help.txt b/source/en-US/about_M365FoundationsCISReport.help.txt
index c64914f..c564cf6 100644
--- a/source/en-US/about_M365FoundationsCISReport.help.txt
+++ b/source/en-US/about_M365FoundationsCISReport.help.txt
@@ -30,9 +30,11 @@ Optional Subtopics
EXAMPLES
# Example 1: Performing a security audit based on CIS benchmarks
$auditResults = Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com"
+ $auditResults = Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com" -DomainName "contoso.com" -ApprovedCloudStorageProviders "DropBox" -ApprovedFederatedDomains "northwind.com"
- # Example 2: Exporting a security audit table to a CSV file
- Export-M365SecurityAuditTable -ExportAllTests -AuditResults $auditResults -ExportPath "C:\temp" -ExportOriginalTests
+ # Example 2: Exporting a security audit and it's nested tables to zipped CSV files
+ Export-M365SecurityAuditTable -AuditResults $auditResults -ExportPath "C:\temp" -ExportOriginalTests -ExportAllTests
+ # Output Ex: 2024.07.07_14.55.55_M365FoundationsAudit_368B2E2F.zip
# Example 3: Retrieving licenses for users in administrative roles
Get-AdminRoleUserLicense