### Start-MigrationBatch Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-migrationbatch Documentation for the Start-MigrationBatch cmdlet, including syntax, parameters, and examples. ```APIDOC ## Start-MigrationBatch ### Description Starts a migration batch that was created with the New-MigrationBatch cmdlet. This cmdlet is used to manually start a migration batch that was not configured with the AutoStart parameter. ### Syntax ```powershell Start-MigrationBatch -Identity [] ``` ### Parameters #### -Identity - Type: MigrationBatchIdParameter - Required: Required - Description: Specifies the identity of the migration batch to start. This can be the name or the identity object of the batch. ### Examples #### Example 1: Start a Local Move Batch ```powershell Start-MigrationBatch -Identity LocalMove1 ``` Starts the migration batch named LocalMove1. #### Example 2: Start a Cross-Forest Batch ```powershell Start-MigrationBatch -Identity $CrossForestBatch.Identity ``` Starts the migration batch using the identity from the New-MigrationBatch output. #### Example 3: Start an Onboarding Batch ```powershell Start-MigrationBatch -Identity $OnboardingBatch.Identity.Name ``` Starts the migration batch using the name from the identity object. #### Example 4: Start an Offboarding Batch ```powershell Start-MigrationBatch -Identity $OffboardingBatch.Identity ``` Starts the migration batch using the identity from the New-MigrationBatch output. ### Outputs This cmdlet returns a migration batch object. ``` -------------------------------- ### Remove-App example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/remove-app Removes the Finance Test app installed for user Tony. The Identity parameter expects the AppID (GUID value) of the app, which can be found with Get-App | Format-Table -Auto DisplayName,AppId. ```powershell Remove-App -Identity -Mailbox Tony ``` -------------------------------- ### Get-OfflineAddressBook - Example 3: Get specific properties for all OABs Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-offlineaddressbook Returns specific properties (Name, AddressLists, GeneratingMailbox, GUID) for all existing OABs, including the GeneratingMailbox property that indicates the arbitration mailbox responsible for generating the OAB. ```powershell Get-OfflineAddressBook | Format-List Name,AddressLists,GeneratingMailbox,GUID ``` -------------------------------- ### Start-MailboxAssistant Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/start-mailboxassistant Documentation for the Start-MailboxAssistant cmdlet, including its syntax, parameters, and an example. ```APIDOC ## Start-MailboxAssistant ### Description Starts a mailbox assistant and lets it process the mailbox of the specified user. ### Syntax Start-MailboxAssistant -Identity -AssistantName [] ### Parameters #### -Identity - **Type**: MailboxIdParameter - **Required**: True - **Description**: Specifies the mailbox that the assistant processes. #### -AssistantName - **Type**: String - **Required**: True - **Description**: Specifies the name of the assistant to start. ### Example ```powershell Start-MailboxAssistant -Identity "Chris" -AssistantName BigFunnelRetryFeederTimeBasedAssistant ``` This example starts the `BigFunnelRetryFeederTimeBasedAssistant` assistant and lets it process the mailbox of the user "Chris". The assistant indexes the mailbox items that were not indexed previously. **Note**: You first need to create a setting override as described in Incomplete search results after installing an Exchange Server 2019 update. ``` -------------------------------- ### Get-UMServer example 1 Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-umserver Returns a summary list of all Unified Messaging servers in the organization. ```powershell Get-UMServer ``` -------------------------------- ### Remove DLP policy by GUID Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/remove-dlpcompliancepolicy Removes a DLP policy by specifying its GUID as the Identity value. This example is from the documentation's Example 1. ```powershell Remove-DlpCompliancePolicy -Identity 7e640345-1a7f-4f4e-9c17-681c070ed5e2 ``` -------------------------------- ### Start-DatabaseAvailabilityGroup Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/start-databaseavailabilitygroup Documentation for the Start-DatabaseAvailabilityGroup cmdlet, including its description, syntax, parameters, examples, and notes. ```APIDOC ## Start-DatabaseAvailabilityGroup ### Description The Start-DatabaseAvailabilityGroup cmdlet activates DAG members in a recovered datacenter after a datacenter switchover, as part of the switchback process. It manipulates configuration and state so that the servers are incorporated into the operating DAG and joined to the DAG's underlying cluster. The Move-ActiveMailboxDatabase cmdlet is then used to activate databases in the primary datacenter. ### Syntax ```powershell Start-DatabaseAvailabilityGroup [-Identity] [-ActiveDirectorySite ] [-ConfigurationOnly] [-Confirm] [-DomainController ] [-MailboxServer ] [-WhatIf] [] ``` ### Parameters #### -Identity - **Type:** DatabaseAvailabilityGroupIdParameter - **Position:** 1 - **Mandatory:** True - **Pipeline input:** True (ByValue, ByPropertyName) - **Description:** Specifies the DAG to start. For example, DAG1. #### -ActiveDirectorySite - **Type:** AdSiteIdParameter - **Position:** Named - **Mandatory:** True (in the Identity parameter set) - **Pipeline input:** True (ByValue, ByPropertyName) - **Description:** Specifies whether to start all DAG members in the specified Active Directory site. #### -ConfigurationOnly - **Type:** SwitchParameter - **Position:** Named - **Mandatory:** False - **Description:** Updates the Active Directory properties with the start action, but doesn't perform a start of the DAG or any members. #### -Confirm - **Type:** SwitchParameter - **Position:** Named - **Mandatory:** False - **Aliases:** cf - **Description:** Shows or hides the confirmation prompt. For destructive cmdlets, use `-Confirm:$false` to skip the prompt. #### -DomainController - **Type:** Fqdn - **Position:** Named - **Mandatory:** False - **Description:** Specifies the domain controller to use for reading from or writing to Active Directory. Use the fully qualified domain name (FQDN), e.g., dc01.contoso.com. #### -MailboxServer - **Type:** ServerIdParameter - **Position:** Named - **Mandatory:** False - **Description:** Specifies the Mailbox server to start in the DAG. #### -WhatIf - **Type:** SwitchParameter - **Position:** Named - **Mandatory:** False - **Description:** Shows what would happen if the cmdlet runs without actually running it. ### Examples #### Example 1 ```powershell Start-DatabaseAvailabilityGroup -Identity DAG1 -MailboxServer MBX2 ``` This example starts the Mailbox server MBX2 in the DAG DAG1. #### Example 2 ```powershell Start-DatabaseAvailabilityGroup -Identity DAG1 -ActiveDirectorySite Redmond ``` This example starts the members of the DAG DAG1 in the Active Directory site Redmond. ### Outputs This cmdlet returns output only when you use the ConfigurationOnly switch. The output is a status object that indicates the result of the operation. ### Notes You need to be assigned permissions before you can run this cmdlet. Although this article lists all parameters, you might not have access to some parameters if they aren't included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see Find the permissions required to run any Exchange cmdlet. ``` -------------------------------- ### Get mailbox GUID and statistics Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/remove-storemailbox Run this command to obtain the mailbox GUID and other information for all mailboxes in your organization. ```powershell Get-MailboxDatabase | Get-MailboxStatistics | Format-List DisplayName,MailboxGuid,Database,DisconnectReason,DisconnectDate ``` -------------------------------- ### Get-WorkforceInsightsDelegationAccess example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-workforceinsightsdelegationaccess Example command that retrieves delegation access for a specific delegator by specifying the -Delegator parameter with a GUID value. ```powershell Get-WorkforceInsightsDelegationAccess -Delegator a5f5dbca-8cc8-4a36-bbfc-9b8947b4eb60 ``` -------------------------------- ### Enable-UMServer Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/enable-umserver Documentation for the Enable-UMServer cmdlet, including its parameters, syntax, and an example. ```APIDOC ## Enable-UMServer ### Description Enables Unified Messaging on a Unified Messaging server. ### Syntax ```powershell Enable-UMServer [-Identity] [-Confirm] [-DomainController ] [-WhatIf] [] ``` ### Parameters #### -Identity - **Type:** UMServerIdParameter - **Position:** 1 - **Mandatory:** True - **Description:** Specifies the identifier for the Unified Messaging server being enabled. This is the directory object ID for the UM server. - **Value from pipeline:** True - **Value from pipeline by property name:** True #### -Confirm - **Type:** SwitchParameter - **Position:** Named - **Mandatory:** False - **Aliases:** cf - **Description:** Specifies whether to show or hide the confirmation prompt. For destructive cmdlets, use `-Confirm:$false` to skip the prompt. For other cmdlets, specifying the switch introduces a pause. #### -DomainController - **Type:** Fqdn - **Position:** Named - **Mandatory:** False - **Description:** Specifies the domain controller used by this cmdlet to read data from or write data to Active Directory. Identify the domain controller by its fully qualified domain name (FQDN), for example, dc01.contoso.com. #### -WhatIf - **Type:** SwitchParameter - **Position:** Named - **Mandatory:** False - **Aliases:** wi - **Description:** Shows what the command does without making any changes. #### CommonParameters This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. ### Examples #### Example 1 ```powershell Enable-UMServer -Identity MyUMServer ``` This example enables Unified Messaging on the Unified Messaging server named MyUMServer. ``` -------------------------------- ### Start Compliance Search by Identity Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/start-compliancesearch Starts the compliance search named 'Case 1234'. This example demonstrates the basic usage of the cmdlet with the Identity parameter. ```powershell Start-ComplianceSearch -Identity "Case 1234" ``` -------------------------------- ### Get-RpcClientAccess Example 1 Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-rpcclientaccess Displays a summary list of RPC Client Access service settings on all servers in the organization. ```powershell Get-RpcClientAccess ``` -------------------------------- ### Start-DatabaseAvailabilityGroup Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/start-databaseavailabilitygroup Documentation for the Start-DatabaseAvailabilityGroup cmdlet, including syntax, parameters, and usage notes. ```APIDOC ## Start-DatabaseAvailabilityGroup ### Description Use the Start-DatabaseAvailabilityGroup cmdlet to reincorporate one or more previously failed members of a database availability group (DAG). This cmdlet is available only in on-premises Exchange. ### Syntax #### Identity parameter set ``` Start-DatabaseAvailabilityGroup [-Identity] -ActiveDirectorySite [-ConfigurationOnly] [-Confirm] [-DomainController ] [-WhatIf] [] ``` #### MailboxSet parameter set ``` Start-DatabaseAvailabilityGroup [-Identity] -MailboxServer [-ConfigurationOnly] [-Confirm] [-DomainController ] [-WhatIf] [] ``` ### Parameters #### -Identity - Type: DatabaseAvailabilityGroupIdParameter - Required: True - Position: 1 - Description: Specifies the database availability group (DAG) that contains the failed members to reincorporate. #### -ActiveDirectorySite - Type: AdSiteIdParameter - Required: True (in Identity parameter set) - Description: Specifies the Active Directory site whose DAG members are to be reincorporated. #### -MailboxServer - Type: MailboxServerIdParameter - Required: True (in MailboxSet parameter set) - Description: Specifies the mailbox server to reincorporate into the DAG. #### -ConfigurationOnly - Type: SwitchParameter - Required: False - Description: Specifies that only the configuration is updated without performing the full startup operation. #### -DomainController - Type: Fqdn - Required: False - Description: Specifies the domain controller to use for this cmdlet. #### -Confirm - Type: SwitchParameter - Required: False - Description: Prompts for confirmation before running the cmdlet. #### -WhatIf - Type: SwitchParameter - Required: False - Description: Shows what would happen if the cmdlet runs without actually running it. ### Outputs This cmdlet does not return any output. ### Examples No examples are provided in the source documentation. ``` -------------------------------- ### Get-ReportExecutionInstance by Identity example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-reportexecutioninstance Returns detailed information for the report execution instance with the specified GUID identity. The Identity parameter accepts a unique GUID value. ```powershell Get-ReportExecutionInstance -Identity 277df7c3-5b73-4409-6264-08d4a8052836 ``` -------------------------------- ### New-TenantAllowBlockListSpoofItems Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-tenantallowblocklistspoofitems Documentation for the New-TenantAllowBlockListSpoofItems cmdlet, including parameters and an example. ```APIDOC ## New-TenantAllowBlockListSpoofItems ### Description Creates an allow or block entry for a spoofed sender in the tenant allow/block list. ### Syntax ```powershell New-TenantAllowBlockListSpoofItems -Identity Default -Action Allow -SendingInfrastructure contoso.com -SpoofedUser bob@contoso.com -SpoofType External ``` ### Parameters #### -Action - Type: String - Mandatory: True - Position: Named - Description: Specifies whether the entry is an allowed or blocked spoofed sender. Valid values are `Allow` and `Block`. #### -Confirm - Type: SwitchParameter - Mandatory: False - Position: Named - Aliases: cf - Description: Specifies whether to show or hide the confirmation prompt. Use `-Confirm:$false` to skip the confirmation prompt for destructive cmdlets. #### -Identity - Type: HostedConnectionFilterPolicyIdParameter - Mandatory: True - Position: 0 - Accepts pipeline input: True (by value, by property name) - Description: The Identity parameter uses the value `Default`. #### -SendingInfrastructure - Type: String - Mandatory: True - Position: Named - Supports wildcards: True - Description: Specifies the source of the messages sent by the spoofed sender. Valid values are an email domain (e.g., contoso.com), an IP address in the format `/24` (e.g., 192.168.100.100/24), or a verified DKIM domain. #### -SpoofedUser - Type: String - Mandatory: True - Position: Named - Supports wildcards: True - Description: Specifies the email address or domain for the spoofed sender entry. For cross-org domains, use the domain from the From field; for intra-org domains, use the full email address. Maximum number of entries is 1024. ### Example ```powershell New-TenantAllowBlockListSpoofItems -Identity Default -Action Allow -SendingInfrastructure contoso.com -SpoofedUser bob@contoso.com -SpoofType External ``` This example creates an allow entry for the sender bob@contoso.com from the source contoso.com. ``` -------------------------------- ### Remove-BlockedConnector example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/remove-blockedconnector Unblocks the specified blocked connector using its GUID identifier. ```powershell Remove-BlockedConnector -ConnectorId 159eb7c4-75d7-43e2-95fe-ced44b3e0a56 ``` -------------------------------- ### New-OwaVirtualDirectory -WhatIf Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-owavirtualdirectory Shows what the command would do without making any changes. ```APIDOC ## [New-OwaVirtualDirectory] -WhatIf ### Description The WhatIf switch shows what the command does without making any changes. You don't need to specify a value with this switch. ### Parameters #### -WhatIf - **Type:** SwitchParameter - **Default value:** None - **Supports wildcards:** False - **DontShow:** False - **Aliases:** wi - **Position:** Named - **Mandatory:** False - **Value from pipeline:** False - **Value from pipeline by property name:** False - **Value from remaining arguments:** False ### Remarks Applicable to Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, and Exchange Server SE. ``` -------------------------------- ### Install app from local file using New-App Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-app Installs an app from a local manifest file. The example uses the Finance Test app manifest file located at C:\Apps\FinanceTestApp.xml. ```powershell New-App -FileData ([System.IO.File]::ReadAllBytes('C:\Apps\FinanceTestApp.xml')) ``` -------------------------------- ### Get-SearchDocumentFormat Example 2: Get All Properties for docx Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-searchdocumentformat Retrieves all properties of the docx file format. ```powershell Get-SearchDocumentFormat docx | Format-List * ``` -------------------------------- ### Get-FilePlanPropertyStructure Example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-fileplanpropertystructure Example 1: Returns the file plan property structure with additional information included. ```powershell Get-FilePlanPropertyStructure -IncludeAdditionalInfo ``` -------------------------------- ### Get-MailboxLocation -Identity example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-mailboxlocation Returns the mailbox location information for the specified mailbox GUID in Exchange Server or Exchange Online. The GUID is the ExchangeGuid property value from the results of Get-Mailbox -Identity | Format-List ExchangeGuid. ```powershell Get-MailboxLocation -Identity e15664af-82ed-4635-b02a-df7c2e03d950 ``` -------------------------------- ### New-EcpVirtualDirectory Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-ecpvirtualdirectory Documentation for the New-EcpVirtualDirectory cmdlet, including syntax, parameters, and an example. ```APIDOC ## New-EcpVirtualDirectory ### Description Creates an Exchange Control Panel (ECP) virtual directory on an Exchange server. This cmdlet is used to configure the ECP virtual directory settings such as internal and external URLs. ### Syntax ``` New-EcpVirtualDirectory [-AppPoolId ] [-Confirm] [-DomainController ] [-ExtendedProtectionFlags ] [-ExtendedProtectionSPNList ] [-ExtendedProtectionTokenChecking ] [-ExternalUrl ] [-InternalUrl ] [-Path ] [-Role ] [-Server ] [-WebSiteName ] [-WhatIf] [] ``` ### Parameters #### -AppPoolId - Type: String - Mandatory: False - Description: Sets the IIS application pool where the ECP virtual directory runs. Recommended to leave at default setting. #### -Confirm - Type: SwitchParameter - Mandatory: False - Aliases: cf - Description: Specifies whether to show or hide the confirmation prompt. For destructive cmdlets, use `-Confirm:$false` to skip the prompt. For other cmdlets, specifying the switch without a value introduces a pause. #### -DomainController - Type: Fqdn - Mandatory: False - Description: Specifies the domain controller used to read from or write to Active Directory, identified by its fully qualified domain name (FQDN). #### -ExtendedProtectionFlags - Type: MultiValuedProperty - Mandatory: False - Description: Configures extended protection flags for the virtual directory. #### -ExtendedProtectionSPNList - Type: MultiValuedProperty - Mandatory: False - Description: Configures the service principal name (SPN) list for extended protection. #### -ExtendedProtectionTokenChecking - Type: ExtendedProtectionTokenCheckingMode - Mandatory: False - Description: Configures extended protection token checking mode. #### -ExternalUrl - Type: Uri - Mandatory: False - Description: Specifies the external URL for the ECP virtual directory. #### -InternalUrl - Type: Uri - Mandatory: False - Description: Specifies the internal URL for the ECP virtual directory. #### -Path - Type: String - Mandatory: False - Description: Specifies the file system path for the virtual directory. #### -Role - Type: VirtualDirectoryRole - Mandatory: False - Description: Specifies the role of the virtual directory. #### -Server - Type: ServerIdParameter - Mandatory: False - Description: Specifies the Exchange server where the virtual directory is created. #### -WebSiteName - Type: String - Mandatory: False - Description: Specifies the IIS website name for the virtual directory. #### -WhatIf - Type: SwitchParameter - Mandatory: False - Description: Shows what would happen if the cmdlet runs without actually running it. ### Examples #### Example 1 ```powershell New-EcpVirtualDirectory -Server SERVER01 -ExternalURL https://mail.contoso.com/ecp -InternalURL https://mail.contoso.com/ecp ``` This example creates the ECP virtual directory on the Exchange server named Server01. ### Permissions You need to be assigned permissions before you can run this cmdlet. Some parameters may not be accessible if they are not included in the permissions assigned to you. To find the permissions required, see "Find the permissions required to run any Exchange cmdlet". ``` -------------------------------- ### Example 1: List all file plan property subcategories Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-fileplanpropertysubcategory Returns a summary list of all file plan property subcategories using Format-Table to display Name, Workload, ParentCategory, and Policy. ```powershell Get-FilePlanPropertySubCategory | Format-Table Name,Workload,ParentCategory,Policy ``` -------------------------------- ### Get mailbox GUID with Get-Mailbox Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/start-managedfolderassistant Use this command to retrieve the mailbox GUID for a user, which can be used as the value for the -Identity parameter if you receive an error in the cloud-based service. Replace with the user's email address. ```powershell Get-Mailbox -User | Format-List *GUID,MailboxLocations ``` -------------------------------- ### Set-ActiveSyncVirtualDirectory Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/set-activesyncvirtualdirectory Documentation for the Set-ActiveSyncVirtualDirectory cmdlet, including its description, syntax, parameters, and examples. ```APIDOC ## Set-ActiveSyncVirtualDirectory ### Description The Set-ActiveSyncVirtualDirectory cmdlet configures a variety of settings on the virtual directory used for Exchange ActiveSync including security, authentication, and internal and external URL settings. ### Syntax Set-ActiveSyncVirtualDirectory -Identity [-BasicAuthEnabled ] [-BadItemReportingEnabled ] [-SendWatsonReport ] [-ExternalUrl ] [-InternalUrl ] [-Confirm] [-WhatIf] [] ### Parameters #### Identity (VirtualDirectoryIdParameter) - Required The Identity parameter specifies the Exchange ActiveSync virtual directory that you want to configure. You can use any value that uniquely identifies the virtual directory. For example: Name, Distinguished name (DN), or GUID. Additionally, you can use the format: Server\Name. #### BasicAuthEnabled (Boolean) - Optional The BasicAuthEnabled parameter specifies whether Basic authentication is enabled on the virtual directory. Valid values are: $true or $false. The default value is $true. #### BadItemReportingEnabled (Boolean) - Optional The BadItemReportingEnabled parameter specifies whether bad item reporting is enabled. Valid values are: $true or $false. The default value is $false. #### SendWatsonReport (Boolean) - Optional The SendWatsonReport parameter specifies whether to send Watson reports for errors. Valid values are: $true or $false. The default value is $false. #### ExternalUrl (Uri) - Optional The ExternalUrl parameter specifies the external URL of the virtual directory. This is the URL that is used to connect to Exchange ActiveSync from outside the firewall. #### InternalUrl (Uri) - Optional The InternalUrl parameter specifies the internal URL of the virtual directory. This is the URL that is used to connect to Exchange ActiveSync from inside the firewall. #### Confirm (SwitchParameter) - Optional The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding. #### WhatIf (SwitchParameter) - Optional The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. ### Examples #### Example 1 ```powershell Set-ActiveSyncVirtualDirectory -Identity "contoso\Microsoft-Server-ActiveSync (Default Web Site)" -BasicAuthEnabled $false ``` This example disables Basic authentication on the default Exchange ActiveSync virtual directory on the server Contoso. #### Example 2 ```powershell Set-ActiveSyncVirtualDirectory -Identity "contoso\Microsoft-Server-ActiveSync (Default Web Site)" -BadItemReportingEnabled $true -SendWatsonReport:$true ``` This example enables bad item reporting and turns on the option to send Watson reports for errors on the server Contoso. #### Example 3 ```powershell Set-ActiveSyncVirtualDirectory -Identity "contoso\Microsoft-Server-ActiveSync (Default Web Site)" -ExternalUrl "https://contoso.com/mail" ``` This example configures the external URL on the default Exchange ActiveSync virtual directory on the server Contoso. ``` -------------------------------- ### Get-Notification example - detailed info by Identity Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-notification Displays detailed information for the specified notification event identified by its GUID. ```powershell Get-Notification -Identity 0259ec74-3539-4195-ab4f-de93e654ceaf | Format-List ``` -------------------------------- ### Remove a specific phishing simulation override rule by Identity Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/remove-exophishsimoverriderule Removes a single rule identified by its Identity value, which can be a name, ID, DN, or GUID. The example uses the rule name syntax _Exe:PhishSimOverr:. ```powershell Remove-ExoPhishSimOverrideRule -Identity "_Exe:PhishSimOverr:6fed4b63-3563-495d-a481-b24a311f8329" ``` -------------------------------- ### New-WebServicesVirtualDirectory Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-webservicesvirtualdirectory Documentation for the New-WebServicesVirtualDirectory cmdlet, including its syntax, parameters, and usage notes. ```APIDOC ## New-WebServicesVirtualDirectory ### Description Creates Exchange Web Services virtual directories used in Internet Information Services (IIS) on Microsoft Exchange servers. You can create multiple virtual directories, but only one per website. ### Syntax ``` New-WebServicesVirtualDirectory [-ApplicationRoot ] [-AppPoolId ] [-AppPoolIdForManagement ] [-BasicAuthentication ] [-Confirm] [-DigestAuthentication ] [-DomainController ] [-ExtendedProtectionFlags ] [-ExtendedProtectionSPNList ] [-ExtendedProtectionTokenChecking ] [-ExternalUrl ] [-Force] [-GzipLevel ] [-InternalNLBBypassUrl ] [-InternalUrl ] [-MRSProxyEnabled ] [-MRSProxyMaxConnections ] [-OAuthAuthentication ] [-Path ] [-Role ] [-Server ] [-WebSiteName ] [-WhatIf] [-WindowsAuthentication ] [-WSSecurityAuthentication ] [] ``` ### Parameters - **ApplicationRoot** (String) - Optional - Specifies the application root for the virtual directory. - **AppPoolId** (String) - Optional - Specifies the application pool ID. - **AppPoolIdForManagement** (String) - Optional - Specifies the application pool ID for management. - **BasicAuthentication** (Boolean) - Optional - Enables or disables Basic authentication. - **Confirm** (SwitchParameter) - Optional - Prompts for confirmation before running the cmdlet. - **DigestAuthentication** (Boolean) - Optional - Enables or disables Digest authentication. - **DomainController** (Fqdn) - Optional - Specifies the domain controller to use. - **ExtendedProtectionFlags** (MultiValuedProperty) - Optional - Specifies extended protection flags. - **ExtendedProtectionSPNList** (MultiValuedProperty) - Optional - Specifies the extended protection SPN list. - **ExtendedProtectionTokenChecking** (ExtendedProtectionTokenCheckingMode) - Optional - Specifies extended protection token checking mode. - **ExternalUrl** (Uri) - Optional - Specifies the external URL. - **Force** (SwitchParameter) - Optional - Forces the command to run without asking for user confirmation. - **GzipLevel** (GzipLevel) - Optional - Specifies the Gzip level. - **InternalNLBBypassUrl** (Uri) - Optional - Specifies the internal NLB bypass URL. - **InternalUrl** (Uri) - Optional - Specifies the internal URL. - **MRSProxyEnabled** (Boolean) - Optional - Enables or disables MRS proxy. - **MRSProxyMaxConnections** (Unlimited) - Optional - Specifies the maximum number of MRS proxy connections. - **OAuthAuthentication** (Boolean) - Optional - Enables or disables OAuth authentication. - **Path** (String) - Optional - Specifies the file system path for the virtual directory. - **Role** (VirtualDirectoryRole) - Optional - Specifies the role of the virtual directory. - **Server** (ServerIdParameter) - Optional - Specifies the server on which to create the virtual directory. - **WebSiteName** (String) - Optional - Specifies the name of the website. - **WhatIf** (SwitchParameter) - Optional - Shows what would happen if the cmdlet runs without actually running it. - **WindowsAuthentication** (Boolean) - Optional - Enables or disables Windows authentication. - **WSSecurityAuthentication** (Boolean) - Optional - Enables or disables WS-Security authentication. ### Outputs This cmdlet returns a virtual directory object representing the newly created Exchange Web Services virtual directory. ### Notes This cmdlet is available only in on-premises Exchange. You can create multiple virtual directories, but only one per website. ``` -------------------------------- ### New-MapiVirtualDirectory Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-mapivirtualdirectory Documentation for the New-MapiVirtualDirectory cmdlet, including its parameters and an example. ```APIDOC ## New-MapiVirtualDirectory ### Description Creates a new MAPI virtual directory in Exchange Server 2013, 2016, 2019, and Exchange Server SE. Permissions are required to run this cmdlet. ### Syntax ```powershell New-MapiVirtualDirectory [-InternalUrl] [-IISAuthenticationMethods] [-Confirm] [-DomainController ] [-ExtendedProtectionFlags ] [] ``` ### Parameters #### -InternalUrl - Type: Uri - Mandatory: False - Position: Named - Description: Specifies the internal URL of the MAPI virtual directory. #### -IISAuthenticationMethods - Type: MultiValuedProperty - Mandatory: False - Position: Named - Description: Specifies the IIS authentication methods used by the virtual directory. Valid values include NTLM, Negotiate, and OAuth. #### -Confirm - Type: SwitchParameter - Mandatory: False - Position: Named - Aliases: cf - Description: Specifies whether to show or hide the confirmation prompt. Use `-Confirm:$false` to skip the confirmation prompt for destructive cmdlets. #### -DomainController - Type: Fqdn - Mandatory: False - Position: Named - Description: Specifies the domain controller to use for reading or writing data to Active Directory. Identified by its fully qualified domain name (FQDN). #### -ExtendedProtectionFlags - Type: MultiValuedProperty - Mandatory: False - Position: Named - Description: Specifies custom settings for Extended Protection for Authentication on the virtual directory. Valid values are None, AllowDotlessSPN, NoServiceNameCheck, Proxy, and ProxyCoHosting. ### Examples #### Example 1 ```powershell New-MapiVirtualDirectory -InternalUrl https://contoso.com/mapi -IISAuthenticationMethods NTLM,Negotiate,OAuth ``` This example creates a new MAPI virtual directory with the specified internal URL and IIS authentication methods. ``` -------------------------------- ### Example 2: Get details for a specific segment Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-organizationsegment Returns detailed information about the organization segment named 'Engineering Group'. ```powershell Get-OrganizationSegment -Identity "Engineering Group" ``` -------------------------------- ### Start-RetentionAutoTagLearning -WhatIf Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/start-retentionautotaglearning Shows what the command would do without actually making changes. No value is needed with this switch. ```APIDOC ## [PARAMETER] -WhatIf ### Description Shows what the command would do without actually making changes. No value is needed with this switch. ### Method PARAMETER ### Endpoint -WhatIf ### Parameters #### Parameter Properties - **Type** (SwitchParameter) - Required - The switch parameter to simulate the command. - **Default value** (None) - Optional - Default value is None. - **Supports wildcards** (Boolean) - Optional - False. - **DontShow** (Boolean) - Optional - False. - **Aliases** (String) - Optional - wi #### Parameter Sets - **(All)** - Position: Named, Mandatory: False, Value from pipeline: False, Value from pipeline by property name: False, Value from remaining arguments: False ### Request Example (No request body for parameter documentation) ### Response #### Success Response (200) - **Type** (SwitchParameter) - The switch parameter to simulate the command. #### Response Example (No response body for parameter documentation) ``` -------------------------------- ### New-ExchangeCertificate -SubjectKeyIdentifier Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/new-exchangecertificate Specifies the unique subject key identifier for a new self-signed certificate. For example, generate a GUID and use it as the value. ```APIDOC ## New-ExchangeCertificate -SubjectKeyIdentifier ### Description Specifies the unique subject key identifier for a new self-signed certificate. For example, run the command: $ski = [System.Guid]::NewGuid().ToString("N"), and use the value $ski for this parameter. ### Method Not applicable (PowerShell cmdlet parameter) ### Endpoint Not applicable ### Parameters #### Parameter: SubjectKeyIdentifier - **Type**: String - **Default value**: None - **Supports wildcards**: False - **DontShow**: False - **Position**: Named - **Mandatory**: False - **Value from pipeline**: False - **Value from pipeline by property name**: False - **Value from remaining arguments**: False ### Request Example Not applicable ### Response #### Success Response Not applicable #### Response Example Not applicable ``` -------------------------------- ### Example 1: List all information barrier policies Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/get-informationbarrierpolicy Displays a summary list of all information barrier policies using Format-Table with Name, State, AssignedSegment, and Segments* properties. ```powershell Get-InformationBarrierPolicy | Format-Table Name,State,AssignedSegment,Segments* -Auto ``` -------------------------------- ### Remove-AutoSensitivityLabelPolicy example Source: https://learn.microsoft.com/en-us/powershell/module/exchangepowershell/remove-autosensitivitylabelpolicy Removes the auto-labeling policy named 'Marketing Group' from the organization. The Identity parameter accepts a name, distinguished name, or GUID. ```powershell Remove-AutoSensitivityLabelPolicy -Identity "Marketing Group" ```