Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xExchMaintenanceMode: Fix maintenance mode issues #272

Merged
merged 5 commits into from
Jul 30, 2018
Merged

xExchMaintenanceMode: Fix maintenance mode issues #272

merged 5 commits into from
Jul 30, 2018

Conversation

mhendric
Copy link
Contributor

@mhendric mhendric commented Jul 25, 2018

Pull Request (PR) description

Fixes multiple issues in xExchMaintenanceMode, including those described in #209. Also fixes almost all issues identified by the PS Script Analyzer.

This Pull Request (PR) fixes the following issues

Fixes #209

Task list

  • Added an entry under the Unreleased section in the CHANGELOG.md? Entry
    should say what was changed, and how that affects users (if applicable).
  • Resource documentation added/updated in README.md?
  • Resource parameter descriptions added/updated in README.md, schema.mof
    and comment-based help?
  • Comment-based help added/updated?
  • Localization strings added/updated in all localization files as appropriate?
  • Examples appropriately added/updated?
  • [] Unit tests added/updated?
    See DSC Resource Testing Guidelines.
  • Integration tests added/updated (where possible)?
    See DSC Resource Testing Guidelines.
  • New/changed code adheres to
    DSC Resource Style Guidelines
    and Best Practices?

Integration test results

Exchange 2016 CU10 on Windows 2016 (PS5)
PS C:\Program Files\WindowsPowerShell\Modules\xExchange\Tests\Integration> Invoke-Pester .\MSFT_xExchMaintenanceMode.Integration.Tests.ps1





Enter Domain Controller to use for DC tests: dc-1
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found 0 Healthy databases with Activation Preference 1 for this server that are currently not hosted on this server
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Sleeping 60 between tests.
Describing Test Putting a Server in and out of Maintenance Mode
   Context Put server in maintenance mode
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: DatabaseCopyAutoActivationPolicy is not set to Blocked
VERBOSE: One or more components have a status other than Inactive
VERBOSE: Cluster node has a status of Up
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found 1 replicated databases still activated on this server
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting DatabaseCopyAutoActivationPolicy to Blocked
VERBOSE: Setting UMCallRouter component to Draining for requester Maintenance
VERBOSE: Entering Transport Maintenance
VERBOSE: Starting non-fatal Transport maintenance tasks for 'E16-3' on E16-3
VERBOSE: E16-3 - Retrieving version for the target server
VERBOSE: Getting HubTransport state of E16-3
VERBOSE: ServerComponentState of HubTransport is 'Active'
VERBOSE: 7/25/2018 10:29:04 AM,E16-3,BeginTM,Start,,,,Target=E16-3,15.01.1531.003
VERBOSE: E16-3 - Waiting for BootLoader to be ready...
VERBOSE: E16-3 EdgeTransport has been running for 00:03:19.1609083! Let's give BootLoader 00:05:00  to complete.
VERBOSE: Found matching provider: MSExchangeTransport
VERBOSE: The MSExchangeTransport provider writes events to the Application log.
VERBOSE: Constructed structured query:
<QueryList><Query Id="0" Path="application"><Select Path="application">*[System/Provider[@Name='msexchangetransport'] and (System/TimeCreated[@SystemTime&gt;='2018-07-25T17:25:45.000
Z']) and (System/EventID=17008)]</Select></Query></QueryList>.
VERBOSE: 7/25/2018 10:29:07 AM,e16-3,BootLoaderCountCheck,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:29:07 AM,e16-3,BootLoaderCountCheck,Completed,,0:00:00.026003,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:29:09 AM,e16-3,BootLoaderSubmitCheck,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:29:09 AM,e16-3,BootLoaderSubmitCheck,Completed,,0:00:00.0050376,0,,15.01.1531.003
VERBOSE: E16-3 - BootLoader ended with  items remain
VERBOSE: E16-3 - Start waiting for QueueDrain...
VERBOSE: 7/25/2018 10:29:09 AM,E16-3,QueueDrain,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:29:09 AM,E16-3,QueueDrain,Completed,,0:00:00.0059911,0,,15.01.1531.003
VERBOSE: E16-3 - Wait for QueueDrain ended with 0 items remain.
VERBOSE: E16-3 - Retrieving the DAG for the target server
VERBOSE: E16-3 - Retrieving other hub transport servers in the DAG - DAG1
VERBOSE: E16-3 - Redirecting messages to E16-4.fiftyfifty.local
VERBOSE: E16-3 - Start waiting for Redirect...
VERBOSE: 7/25/2018 10:29:11 AM,E16-3,Redirect,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:29:11 AM,E16-3,Redirect,Completed,,0:00:00.0060004,0,,15.01.1531.003
VERBOSE: E16-3 - Wait for Redirect ended with 0 items remain.
VERBOSE: E16-3 - Forcing heart-beat on server E16-4
VERBOSE: E16-3 - Waiting for the heartbeats to complete processing
VERBOSE: E16-3 - Start waiting for ShadowDiscardDrain...
VERBOSE: 7/25/2018 10:29:11 AM,E16-3,ShadowDiscardDrain,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:29:11 AM,E16-3,ShadowDiscardDrain,Completed,,0:00:00.005013,0,,15.01.1531.003
VERBOSE: E16-3 - ShadowDiscardDrain ended with 0 items remain.
VERBOSE: Setting HubTransport component state to Inactive
VERBOSE: Setting HubTransport state to Inactive
VERBOSE: 7/25/2018 10:29:11 AM,E16-3,RestartTransport,Info,,,0,ComponentState=Inactive,15.01.1531.003
VERBOSE: 7/25/2018 10:29:11 AM,E16-3,BeginTM,Completed,,0:00:07.4775056,,Target=E16-3,15.01.1531.003
VERBOSE: Waiting up to 5 minutes for active UM calls to finish
VERBOSE: Running StartDagServerMaintenance.ps1
VERBOSE: Setting ServerWideOffline component to Inactive for requester Maintenance
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
    [+] Get-TargetResource: Contains Key: ActiveDBCount 195.44s
    [+] Get-TargetResource: Value Matches for Key: ActiveDBCount 190ms
    [+] Get-TargetResource: Contains Key: ClusterState 21ms
    [+] Get-TargetResource: Value Matches for Key: ClusterState 25ms
    [+] Get-TargetResource: Contains Key: ActiveUMCallCount 35ms
    [+] Get-TargetResource: Value Matches for Key: ActiveUMCallCount 34ms
    [+] Get-TargetResource: Contains Key: QueuedMessageCount 48ms
    [+] Get-TargetResource: Value Matches for Key: QueuedMessageCount 70ms
    [+] Get-TargetResource: Contains Key: ActiveComponentCount 19ms
    [+] Get-TargetResource: Value Matches for Key: ActiveComponentCount 48ms
    [+] Get-TargetResource: Contains Key: Enabled 19ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 32ms
    [+] Test-TargetResource 26ms
VERBOSE: Sleeping 60 between tests.
   Context Take server out of maintenance mode
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Component ServerWideOffline is not Active
VERBOSE: Component UMCallRouter is not Active
VERBOSE: Component HubTransport is not Active
VERBOSE: Cluster node has a status of Paused
VERBOSE: DatabaseCopyAutoActivationPolicy is set to Blocked
VERBOSE: Component AutoDiscoverProxy is not set to Active
VERBOSE: Component ActiveSyncProxy is not set to Active
VERBOSE: Component EcpProxy is not set to Active
VERBOSE: Component EwsProxy is not set to Active
VERBOSE: Component ImapProxy is not set to Active
VERBOSE: Component OabProxy is not set to Active
VERBOSE: Component OwaProxy is not set to Active
VERBOSE: Component PopProxy is not set to Active
VERBOSE: Component PushNotificationsProxy is not set to Active
VERBOSE: Component RpsProxy is not set to Active
VERBOSE: Component RwsProxy is not set to Active
VERBOSE: Component RpcProxy is not set to Active
VERBOSE: Component XropProxy is not set to Active
VERBOSE: Component HttpProxyAvailabilityGroup is not set to Active
VERBOSE: Component MapiProxy is not set to Active
VERBOSE: Component EdgeTransport is not set to Active
VERBOSE: Component HighAvailability is not set to Active
VERBOSE: Component SharedCache is not set to Active
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting ServerWideOffline component to Active for requester Maintenance
VERBOSE: Setting UMCallRouter component to Active for requester Maintenance
VERBOSE: Running StopDagServerMaintenance.ps1
VERBOSE: DatabaseCopyActivationDisabledAndMoveNow flag will be unset on the server E16-3
VERBOSE: Ending Transport Maintenance
VERBOSE: E16-3 - Retrieving version for the target server
VERBOSE: 7/25/2018 10:31:39 AM,E16-3,EndTM,Start,,,,ServiceState=Online,15.01.1531.003
VERBOSE: Perform operation 'Query CimInstances' with following parameters, ''queryExpression' = SELECT * FROM win32_service WHERE name = 'MSExchangeTransport','queryDialect' = WQL,'n
amespaceName' = root\cimv2'.
VERBOSE: Operation 'Query CimInstances' complete.
VERBOSE: Setting HubTransport state to Active
VERBOSE: 7/25/2018 10:31:39 AM,E16-3,StopTransport,Start,,,,,15.01.1531.003
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
VERBOSE: 7/25/2018 10:31:48 AM,E16-3,StopTransport,Completed,,0:00:08.8565602,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:31:48 AM,E16-3,StartTransport,Start,,,,,15.01.1531.003
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
VERBOSE: 7/25/2018 10:31:54 AM,E16-3,StartTransport,Completed,,0:00:06.0819941,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:31:55 AM,E16-3,SubmissionQueueCheck,Skipped,,,0,EnableSubmissionQueue=Ready,15.01.1531.003
VERBOSE: 7/25/2018 10:31:55 AM,E16-3,StopEdgeSync,Start,,,,,15.01.1531.003
VERBOSE: 7/25/2018 10:31:55 AM,E16-3,StopEdgeSync,Completed,,0:00:00.2950003,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:31:55 AM,E16-3,StartEdgeSync,Start,,,,,15.01.1531.003
VERBOSE: 7/25/2018 10:31:57 AM,E16-3,StartEdgeSync,Completed,,0:00:01.8689979,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:31:57 AM,E16-3,StartMessageTrace,Skipped,,,0,MSMessageTracingClient=NotFound,15.01.1531.003
VERBOSE: 7/25/2018 10:31:57 AM,E16-3,EndTM,Completed,,0:00:18.3765682,,ServiceState=Online,15.01.1531.003
VERBOSE: Setting AutoDiscoverProxy component to Active for requester Functional
VERBOSE: Setting ActiveSyncProxy component to Active for requester Functional
VERBOSE: Setting EcpProxy component to Active for requester Functional
VERBOSE: Setting EwsProxy component to Active for requester Functional
VERBOSE: Setting ImapProxy component to Active for requester Functional
VERBOSE: Setting OabProxy component to Active for requester Functional
VERBOSE: Setting OwaProxy component to Active for requester Functional
VERBOSE: Setting PopProxy component to Active for requester Functional
VERBOSE: Setting PushNotificationsProxy component to Active for requester Functional
VERBOSE: Setting RpsProxy component to Active for requester Functional
VERBOSE: Setting RwsProxy component to Active for requester Functional
VERBOSE: Setting RpcProxy component to Active for requester Functional
VERBOSE: Setting XropProxy component to Active for requester Functional
VERBOSE: Setting HttpProxyAvailabilityGroup component to Active for requester Functional
VERBOSE: Setting MapiProxy component to Active for requester Functional
VERBOSE: Setting EdgeTransport component to Active for requester Functional
VERBOSE: Setting HighAvailability component to Active for requester Functional
VERBOSE: Setting SharedCache component to Active for requester Functional
VERBOSE: Found 1 Healthy databases with Activation Preference 1 that should be moved to this server.
VERBOSE: Attempting to move database 'Mailbox Database 1238674661' back to this server.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
    [+] Get-TargetResource: Contains Key: ClusterState 111.1s
    [+] Get-TargetResource: Value Matches for Key: ClusterState 26ms
    [+] Get-TargetResource: Contains Key: Enabled 184ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 160ms
    [+] Test-TargetResource 187ms
   Context Do additional Get-TargetResource verification after taking server out of maintenance mode
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
    [+] ActiveComponentCount is greater than 0 4.22s
    [+] Component ServerWideOffline should be Active 58ms
    [+] Component HubTransport should be Active 31ms
    [+] Component FrontendTransport should be Active 85ms
    [+] Component Monitoring should be Active 126ms
    [+] Component RecoveryActionsEnabled should be Active 108ms
    [+] Component AutoDiscoverProxy should be Active 50ms
    [+] Component ActiveSyncProxy should be Active 37ms
    [+] Component EcpProxy should be Active 116ms
    [+] Component EwsProxy should be Active 68ms
    [+] Component ImapProxy should be Active 246ms
    [+] Component OabProxy should be Active 79ms
    [+] Component OwaProxy should be Active 53ms
    [+] Component PopProxy should be Active 84ms
    [+] Component PushNotificationsProxy should be Active 411ms
    [+] Component RpsProxy should be Active 235ms
    [+] Component RwsProxy should be Active 37ms
    [+] Component RpcProxy should be Active 130ms
    [+] Component UMCallRouter should be Active 52ms
    [+] Component XropProxy should be Active 66ms
    [+] Component HttpProxyAvailabilityGroup should be Active 42ms
    [+] Component MapiProxy should be Active 50ms
    [+] Component EdgeTransport should be Active 95ms
    [+] Component HighAvailability should be Active 51ms
    [+] Component SharedCache should be Active 128ms
    [+] Databases were failed back 596ms
VERBOSE: Sleeping 60 between tests.
   Context Try to put server in maintenance mode using UpgradedServerVersion of an older server.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Server is already at or above the desired upgrade version of '15.0.0.0'. Skipping putting server into maintenance mode.
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Server is already at or above the desired upgrade version of '15.0.0.0'. Skipping putting server into maintenance mode.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Server is already at or above the desired upgrade version of '15.0.0.0'. Skipping putting server into maintenance mode.
    [+] Get-TargetResource: Contains Key: ClusterState 72.8s
    [+] Get-TargetResource: Value Matches for Key: ClusterState 10ms
    [+] Get-TargetResource: Contains Key: Enabled 18ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 26ms
    [+] Test-TargetResource 10ms
VERBOSE: Sleeping 60 between tests.
   Context Put server in maintenance mode using Domain Controller switch
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: DatabaseCopyAutoActivationPolicy is not set to Blocked
VERBOSE: One or more components have a status other than Inactive
VERBOSE: Cluster node has a status of Up
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found 1 replicated databases still activated on this server
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting DatabaseCopyAutoActivationPolicy to Blocked
VERBOSE: Setting UMCallRouter component to Draining for requester Maintenance
VERBOSE: Entering Transport Maintenance
VERBOSE: Starting non-fatal Transport maintenance tasks for 'E16-3' on E16-3
VERBOSE: E16-3 - Retrieving version for the target server
VERBOSE: Getting HubTransport state of E16-3
VERBOSE: ServerComponentState of HubTransport is 'Active'
VERBOSE: 7/25/2018 10:34:47 AM,E16-3,BeginTM,Start,,,,Target=E16-3,15.01.1531.003
VERBOSE: E16-3 - Waiting for BootLoader to be ready...
VERBOSE: E16-3 EdgeTransport has been running for 00:02:57.7585964! Let's give BootLoader 00:05:00  to complete.
VERBOSE: Found matching provider: MSExchangeTransport
VERBOSE: The MSExchangeTransport provider writes events to the Application log.
VERBOSE: Constructed structured query:
<QueryList><Query Id="0" Path="application"><Select Path="application">*[System/Provider[@Name='msexchangetransport'] and (System/TimeCreated[@SystemTime&gt;='2018-07-25T17:31:50.000
Z']) and (System/EventID=17008)]</Select></Query></QueryList>.
VERBOSE: 7/25/2018 10:34:49 AM,e16-3,BootLoaderCountCheck,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:34:49 AM,e16-3,BootLoaderCountCheck,Completed,,0:00:00.0150453,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:34:51 AM,e16-3,BootLoaderSubmitCheck,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:34:51 AM,e16-3,BootLoaderSubmitCheck,Completed,,0:00:00.0069964,0,,15.01.1531.003
VERBOSE: E16-3 - BootLoader ended with  items remain
VERBOSE: E16-3 - Start waiting for QueueDrain...
VERBOSE: 7/25/2018 10:34:51 AM,E16-3,QueueDrain,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:34:51 AM,E16-3,QueueDrain,Completed,,0:00:00.0049922,0,,15.01.1531.003
VERBOSE: E16-3 - Wait for QueueDrain ended with 0 items remain.
VERBOSE: E16-3 - Retrieving the DAG for the target server
VERBOSE: E16-3 - Retrieving other hub transport servers in the DAG - DAG1
VERBOSE: E16-3 - Redirecting messages to E16-4.fiftyfifty.local
VERBOSE: E16-3 - Start waiting for Redirect...
VERBOSE: 7/25/2018 10:34:52 AM,E16-3,Redirect,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:34:52 AM,E16-3,Redirect,Completed,,0:00:00.0560011,0,,15.01.1531.003
VERBOSE: E16-3 - Wait for Redirect ended with 0 items remain.
VERBOSE: E16-3 - Forcing heart-beat on server E16-4
VERBOSE: E16-3 - Waiting for the heartbeats to complete processing
VERBOSE: E16-3 - Start waiting for ShadowDiscardDrain...
VERBOSE: 7/25/2018 10:34:52 AM,E16-3,ShadowDiscardDrain,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:34:52 AM,E16-3,ShadowDiscardDrain,Completed,,0:00:00.0100001,0,,15.01.1531.003
VERBOSE: E16-3 - ShadowDiscardDrain ended with 0 items remain.
VERBOSE: Setting HubTransport component state to Inactive
VERBOSE: Setting HubTransport state to Inactive
VERBOSE: 7/25/2018 10:34:53 AM,E16-3,RestartTransport,Info,,,0,ComponentState=Inactive,15.01.1531.003
VERBOSE: 7/25/2018 10:34:53 AM,E16-3,BeginTM,Completed,,0:00:05.2053786,,Target=E16-3,15.01.1531.003
VERBOSE: Waiting up to 5 minutes for active UM calls to finish
VERBOSE: Running StartDagServerMaintenance.ps1
VERBOSE: Setting ServerWideOffline component to Inactive for requester Maintenance
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
    [+] Get-TargetResource: Contains Key: ActiveDBCount 148.29s
    [+] Get-TargetResource: Value Matches for Key: ActiveDBCount 15ms
    [+] Get-TargetResource: Contains Key: ClusterState 13ms
    [+] Get-TargetResource: Value Matches for Key: ClusterState 13ms
    [+] Get-TargetResource: Contains Key: ActiveUMCallCount 37ms
    [+] Get-TargetResource: Value Matches for Key: ActiveUMCallCount 22ms
    [+] Get-TargetResource: Contains Key: QueuedMessageCount 35ms
    [+] Get-TargetResource: Value Matches for Key: QueuedMessageCount 40ms
    [+] Get-TargetResource: Contains Key: ActiveComponentCount 26ms
    [+] Get-TargetResource: Value Matches for Key: ActiveComponentCount 53ms
    [+] Get-TargetResource: Contains Key: Enabled 38ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 11ms
    [+] Test-TargetResource 16ms
VERBOSE: Sleeping 60 between tests.
   Context Take server out of maintenance mode using Domain Controller switch
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Component ServerWideOffline is not Active
VERBOSE: Component UMCallRouter is not Active
VERBOSE: Component HubTransport is not Active
VERBOSE: Cluster node has a status of Paused
VERBOSE: DatabaseCopyAutoActivationPolicy is set to Blocked
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting ServerWideOffline component to Active for requester Maintenance
VERBOSE: Setting UMCallRouter component to Active for requester Maintenance
VERBOSE: Running StopDagServerMaintenance.ps1
VERBOSE: DatabaseCopyActivationDisabledAndMoveNow flag will be unset on the server E16-3
VERBOSE: Ending Transport Maintenance
VERBOSE: E16-3 - Retrieving version for the target server
VERBOSE: 7/25/2018 10:37:18 AM,E16-3,EndTM,Start,,,,ServiceState=Online,15.01.1531.003
VERBOSE: Perform operation 'Query CimInstances' with following parameters, ''queryExpression' = SELECT * FROM win32_service WHERE name = 'MSExchangeTransport','queryDialect' = WQL,'n
amespaceName' = root\cimv2'.
VERBOSE: Operation 'Query CimInstances' complete.
VERBOSE: Setting HubTransport state to Active
VERBOSE: 7/25/2018 10:37:19 AM,E16-3,StopTransport,Start,,,,,15.01.1531.003
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
VERBOSE: 7/25/2018 10:37:25 AM,E16-3,StopTransport,Completed,,0:00:06.5780031,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:37:25 AM,E16-3,StartTransport,Start,,,,,15.01.1531.003
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
VERBOSE: 7/25/2018 10:37:31 AM,E16-3,StartTransport,Completed,,0:00:06.1109805,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:37:32 AM,E16-3,SubmissionQueueCheck,Skipped,,,0,EnableSubmissionQueue=Ready,15.01.1531.003
VERBOSE: 7/25/2018 10:37:32 AM,E16-3,StopEdgeSync,Start,,,,,15.01.1531.003
VERBOSE: 7/25/2018 10:37:32 AM,E16-3,StopEdgeSync,Completed,,0:00:00.2699999,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:37:32 AM,E16-3,StartEdgeSync,Start,,,,,15.01.1531.003
VERBOSE: 7/25/2018 10:37:34 AM,E16-3,StartEdgeSync,Completed,,0:00:01.8679998,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:37:34 AM,E16-3,StartMessageTrace,Skipped,,,0,MSMessageTracingClient=NotFound,15.01.1531.003
VERBOSE: 7/25/2018 10:37:34 AM,E16-3,EndTM,Completed,,0:00:16.2160046,,ServiceState=Online,15.01.1531.003
VERBOSE: Found 1 Healthy databases with Activation Preference 1 that should be moved to this server.
VERBOSE: Attempting to move database 'Mailbox Database 1238674661' back to this server.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
    [+] Get-TargetResource: Contains Key: ClusterState 99.31s
    [+] Get-TargetResource: Value Matches for Key: ClusterState 28ms
    [+] Get-TargetResource: Contains Key: Enabled 27ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 32ms
    [+] Test-TargetResource 123ms
   Context Do additional Get-TargetResource verification after taking server out of maintenance mode
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found database 'Mailbox Database 1238674661' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
    [+] ActiveComponentCount is greater than 0 2.94s
    [+] Component ServerWideOffline should be Active 25ms
    [+] Component HubTransport should be Active 30ms
    [+] Component FrontendTransport should be Active 41ms
    [+] Component Monitoring should be Active 20ms
    [+] Component RecoveryActionsEnabled should be Active 32ms
    [+] Component AutoDiscoverProxy should be Active 20ms
    [+] Component ActiveSyncProxy should be Active 34ms
    [+] Component EcpProxy should be Active 79ms
    [+] Component EwsProxy should be Active 68ms
    [+] Component ImapProxy should be Active 57ms
    [+] Component OabProxy should be Active 58ms
    [+] Component OwaProxy should be Active 25ms
    [+] Component PopProxy should be Active 28ms
    [+] Component PushNotificationsProxy should be Active 45ms
    [+] Component RpsProxy should be Active 38ms
    [+] Component RwsProxy should be Active 28ms
    [+] Component RpcProxy should be Active 64ms
    [+] Component UMCallRouter should be Active 53ms
    [+] Component XropProxy should be Active 18ms
    [+] Component HttpProxyAvailabilityGroup should be Active 41ms
    [+] Component MapiProxy should be Active 26ms
    [+] Component EdgeTransport should be Active 85ms
    [+] Component HighAvailability should be Active 158ms
    [+] Component SharedCache should be Active 115ms
    [+] Databases were failed back 260ms
VERBOSE: Sleeping 60 between tests.
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting DatabaseCopyAutoActivationPolicy to Blocked
VERBOSE: Setting UMCallRouter component to Draining for requester Maintenance
VERBOSE: Entering Transport Maintenance
VERBOSE: Starting non-fatal Transport maintenance tasks for 'E16-3' on E16-3
VERBOSE: E16-3 - Retrieving version for the target server
VERBOSE: Getting HubTransport state of E16-3
VERBOSE: ServerComponentState of HubTransport is 'Active'
VERBOSE: 7/25/2018 10:38:57 AM,E16-3,BeginTM,Start,,,,Target=E16-3,15.01.1531.003
VERBOSE: E16-3 - Waiting for BootLoader to be ready...
VERBOSE: E16-3 EdgeTransport has been running for 00:01:29.7512316! Let's give BootLoader 00:05:00  to complete.
VERBOSE: Found matching provider: MSExchangeTransport
VERBOSE: The MSExchangeTransport provider writes events to the Application log.
VERBOSE: Constructed structured query:
<QueryList><Query Id="0" Path="application"><Select Path="application">*[System/Provider[@Name='msexchangetransport'] and (System/TimeCreated[@SystemTime&gt;='2018-07-25T17:37:27.000
Z']) and (System/EventID=17008)]</Select></Query></QueryList>.
VERBOSE: 7/25/2018 10:38:59 AM,e16-3,BootLoaderCountCheck,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:38:59 AM,e16-3,BootLoaderCountCheck,Completed,,0:00:00.0129957,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:39:00 AM,e16-3,BootLoaderSubmitCheck,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:39:00 AM,e16-3,BootLoaderSubmitCheck,Completed,,0:00:00.004999,0,,15.01.1531.003
VERBOSE: E16-3 - BootLoader ended with  items remain
VERBOSE: E16-3 - Start waiting for QueueDrain...
VERBOSE: 7/25/2018 10:39:00 AM,E16-3,QueueDrain,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:39:00 AM,E16-3,QueueDrain,Completed,,0:00:00.0070019,0,,15.01.1531.003
VERBOSE: E16-3 - Wait for QueueDrain ended with 0 items remain.
VERBOSE: E16-3 - Retrieving the DAG for the target server
VERBOSE: E16-3 - Retrieving other hub transport servers in the DAG - DAG1
VERBOSE: E16-3 - Redirecting messages to E16-4.fiftyfifty.local
VERBOSE: E16-3 - Start waiting for Redirect...
VERBOSE: 7/25/2018 10:39:01 AM,E16-3,Redirect,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:39:01 AM,E16-3,Redirect,Completed,,0:00:00.043999,0,,15.01.1531.003
VERBOSE: E16-3 - Wait for Redirect ended with 0 items remain.
VERBOSE: E16-3 - Forcing heart-beat on server E16-4
VERBOSE: E16-3 - Waiting for the heartbeats to complete processing
VERBOSE: E16-3 - Start waiting for ShadowDiscardDrain...
VERBOSE: 7/25/2018 10:39:02 AM,E16-3,ShadowDiscardDrain,Start,,,0,,15.01.1531.003
VERBOSE: 7/25/2018 10:39:02 AM,E16-3,ShadowDiscardDrain,Completed,,0:00:00.0060171,0,,15.01.1531.003
VERBOSE: E16-3 - ShadowDiscardDrain ended with 0 items remain.
VERBOSE: Setting HubTransport component state to Inactive
VERBOSE: Setting HubTransport state to Inactive
VERBOSE: 7/25/2018 10:39:02 AM,E16-3,RestartTransport,Info,,,0,ComponentState=Inactive,15.01.1531.003
VERBOSE: 7/25/2018 10:39:02 AM,E16-3,BeginTM,Completed,,0:00:05.367855,,Target=E16-3,15.01.1531.003
VERBOSE: Waiting up to 5 minutes for active UM calls to finish
VERBOSE: Running StartDagServerMaintenance.ps1
VERBOSE: Setting ServerWideOffline component to Inactive for requester Maintenance
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Found queue 'e16-3\Submission' with a message count of '0'.
 [+] Server should be in maintenance mode 142.66s
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting ServerWideOffline component to Active for requester Maintenance
VERBOSE: Setting UMCallRouter component to Active for requester Maintenance
VERBOSE: Running StopDagServerMaintenance.ps1
VERBOSE: DatabaseCopyActivationDisabledAndMoveNow flag will be unset on the server E16-3
VERBOSE: Ending Transport Maintenance
VERBOSE: E16-3 - Retrieving version for the target server
VERBOSE: 7/25/2018 10:40:23 AM,E16-3,EndTM,Start,,,,ServiceState=Online,15.01.1531.003
VERBOSE: Perform operation 'Query CimInstances' with following parameters, ''queryExpression' = SELECT * FROM win32_service WHERE name = 'MSExchangeTransport','queryDialect' = WQL,'n
amespaceName' = root\cimv2'.
VERBOSE: Operation 'Query CimInstances' complete.
VERBOSE: Setting HubTransport state to Active
VERBOSE: 7/25/2018 10:40:25 AM,E16-3,StopTransport,Start,,,,,15.01.1531.003
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to stop...
VERBOSE: 7/25/2018 10:40:29 AM,E16-3,StopTransport,Completed,,0:00:04.3709537,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:40:29 AM,E16-3,StartTransport,Start,,,,,15.01.1531.003
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
VERBOSE: 7/25/2018 10:40:35 AM,E16-3,StartTransport,Completed,,0:00:05.1881774,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:40:35 AM,E16-3,SubmissionQueueCheck,Skipped,,,0,EnableSubmissionQueue=Ready,15.01.1531.003
VERBOSE: 7/25/2018 10:40:35 AM,E16-3,StopEdgeSync,Start,,,,,15.01.1531.003
VERBOSE: 7/25/2018 10:40:35 AM,E16-3,StopEdgeSync,Completed,,0:00:00.2639873,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:40:35 AM,E16-3,StartEdgeSync,Start,,,,,15.01.1531.003
VERBOSE: 7/25/2018 10:40:37 AM,E16-3,StartEdgeSync,Completed,,0:00:01.7890011,,MaxWaitMinutes=5,15.01.1531.003
VERBOSE: 7/25/2018 10:40:37 AM,E16-3,StartMessageTrace,Skipped,,,0,MSMessageTracingClient=NotFound,15.01.1531.003
VERBOSE: 7/25/2018 10:40:37 AM,E16-3,EndTM,Completed,,0:00:13.4431812,,ServiceState=Online,15.01.1531.003
VERBOSE: Setting AutoDiscoverProxy component to Active for requester Functional
VERBOSE: Setting ActiveSyncProxy component to Active for requester Functional
VERBOSE: Setting EcpProxy component to Active for requester Functional
VERBOSE: Setting EwsProxy component to Active for requester Functional
VERBOSE: Setting ImapProxy component to Active for requester Functional
VERBOSE: Setting OabProxy component to Active for requester Functional
VERBOSE: Setting OwaProxy component to Active for requester Functional
VERBOSE: Setting PopProxy component to Active for requester Functional
VERBOSE: Setting PushNotificationsProxy component to Active for requester Functional
VERBOSE: Setting RpsProxy component to Active for requester Functional
VERBOSE: Setting RwsProxy component to Active for requester Functional
VERBOSE: Setting RpcProxy component to Active for requester Functional
VERBOSE: Setting XropProxy component to Active for requester Functional
VERBOSE: Setting HttpProxyAvailabilityGroup component to Active for requester Functional
VERBOSE: Setting MapiProxy component to Active for requester Functional
VERBOSE: Setting EdgeTransport component to Active for requester Functional
VERBOSE: Setting HighAvailability component to Active for requester Functional
VERBOSE: Setting SharedCache component to Active for requester Functional
VERBOSE: Found 1 Healthy databases with Activation Preference 1 that should be moved to this server.
VERBOSE: Attempting to move database 'Mailbox Database 1238674661' back to this server.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Component ImapProxy is not set to Active
 [+] Test should fail 37.09s
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
VERBOSE: Setting ImapProxy component to Active for requester Functional
VERBOSE: Setting ImapProxy component to Active for requester HealthApi
VERBOSE: Found 0 Healthy databases with Activation Preference 1 for this server that are currently not hosted on this server
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E16-3.
 [+] Test should succeed 15.18s
Tests completed in 835.27s
Passed: 96 Failed: 0 Skipped: 0 Pending: 0 Inconclusive: 0
Exchange 2013 CU21 on Windows 2012 R2 (PS4)
PS C:\Program Files\WindowsPowerShell\Modules\xExchange\Tests\Integration> Invoke-Pester .\MSFT_xExchMaintenanceMode.Integration.Tests.ps1





Enter Domain Controller to use for DC tests: dc-1
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found 0 Healthy databases with Activation Preference 1 for this server that are currently not hosted on this server
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Sleeping 60 between tests.
Describing Test Putting a Server in and out of Maintenance Mode
   Context Put server in maintenance mode
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: DatabaseCopyAutoActivationPolicy is not set to Blocked
VERBOSE: One or more components have a status other than Inactive
VERBOSE: Cluster node has a status of Up
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found 1 replicated databases still activated on this server
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting DatabaseCopyAutoActivationPolicy to Blocked
VERBOSE: Setting UMCallRouter component to Draining for requester Maintenance
VERBOSE: Entering Transport Maintenance
VERBOSE: Starting non-fatal Transport maintenance tasks for 'E15-1' on E15-1
VERBOSE: E15-1 - Retrieving version for the target server
VERBOSE: Getting HubTransport state of E15-1
VERBOSE: ServerComponentState of HubTransport is 'Active'
VERBOSE: 7/25/2018 10:27:29 AM,E15-1,BeginTM,Start,,,,Target=E15-1,15.00.1395.004
VERBOSE: E15-1 - Waiting for BootLoader to be ready...
VERBOSE: 7/25/2018 10:27:29 AM,E15-1,BootLoaderCountCheck,Skipped,,,0,ProcessLifeTime=02:05:06.5891355,15.00.1395.004
VERBOSE: 7/25/2018 10:27:29 AM,E15-1,BootLoaderSubmitCheck,Skipped,,,0,ProcessLifeTime=02:05:06.5891355,15.00.1395.004
VERBOSE: E15-1 - EdgeTransport has been running for 02:05:06.5891355. BootLoader is ready
VERBOSE: E15-1 - Start waiting for QueueDrain...
VERBOSE: 7/25/2018 10:27:30 AM,E15-1,QueueDrain,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:27:30 AM,E15-1,QueueDrain,Completed,,0:00:00.0156165,0,,15.00.1395.004
VERBOSE: E15-1 - Wait for QueueDrain ended with 0 items remain.
VERBOSE: E15-1 - Retrieving the DAG for the target server
VERBOSE: E15-1 - Retrieving other hub transport servers in the DAG - DAG2
VERBOSE: E15-1 - Redirecting messages to RRAS-1.fiftyfifty.local
VERBOSE: E15-1 - Start waiting for Redirect...
VERBOSE: 7/25/2018 10:27:34 AM,E15-1,Redirect,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:27:34 AM,E15-1,Redirect,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: E15-1 - Wait for Redirect ended with 0 items remain.
VERBOSE: E15-1 - Forcing heart-beat on server RRAS-1
VERBOSE: E15-1 - Waiting for the heartbeats to complete processing
VERBOSE: E15-1 - Start waiting for ShadowDiscardDrain...
VERBOSE: 7/25/2018 10:27:34 AM,E15-1,ShadowDiscardDrain,Start,,,1,,15.00.1395.004
VERBOSE: E15-1 - ShadowDiscardDrain Progress made. 1 items remain.
VERBOSE: E15-1 - ShadowDiscardDrain NoProgressTimeout occurred. Wait aborted!
VERBOSE: 7/25/2018 10:29:35 AM,E15-1,ShadowDiscardDrain,Completed,,0:02:01.3971617,1,Reason=NoProgressTimeout,15.00.1395.004
VERBOSE: E15-1 - ShadowDiscardDrain ended with 1 items remain.
VERBOSE: Setting HubTransport component state to Inactive
VERBOSE: Setting HubTransport state to Inactive
VERBOSE: 7/25/2018 10:29:39 AM,E15-1,RestartTransport,Info,,,0,ComponentState=Inactive,15.00.1395.004
VERBOSE: 7/25/2018 10:29:39 AM,E15-1,BeginTM,Completed,,0:02:10.6560159,,Target=E15-1,15.00.1395.004
VERBOSE: Waiting up to 5 minutes for active UM calls to finish
VERBOSE: Running StartDagServerMaintenance.ps1
VERBOSE: The following objects are hosted by 'E15-1', before attempting to move them off: `n(Database='Mailbox Database 1389218521', Reason='Copy is active') (Database='Mailbox Database 1389218521', Reas
on='There were database redundancy check failures for database 'Mailbox Database 1389218521' that may be lowering its redundancy and putting the database at risk of data loss. Redundancy Count: 1. Expect
ed Redundancy Count: 2. Detailed error(s): 


        e15-1:
        Database 'Mailbox Database 1389218521' does not have enough copies configured to meet the validation criteria.
        '))
VERBOSE: Setting ServerWideOffline component to Inactive for requester Maintenance
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Waiting up to 5 minutes for the Transport Bootloader to be ready before running Get-Queue. Wait started at 07/25/2018 10:29:59.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
    [+] Get-TargetResource: Contains Key: ActiveDBCount 330.97s
    [+] Get-TargetResource: Value Matches for Key: ActiveDBCount 151ms
    [+] Get-TargetResource: Contains Key: ClusterState 65ms
    [+] Get-TargetResource: Value Matches for Key: ClusterState 99ms
    [+] Get-TargetResource: Contains Key: ActiveUMCallCount 95ms
    [+] Get-TargetResource: Value Matches for Key: ActiveUMCallCount 69ms
    [+] Get-TargetResource: Contains Key: QueuedMessageCount 15ms
    [+] Get-TargetResource: Value Matches for Key: QueuedMessageCount 65ms
    [+] Get-TargetResource: Contains Key: ActiveComponentCount 9ms
    [+] Get-TargetResource: Value Matches for Key: ActiveComponentCount 125ms
    [+] Get-TargetResource: Contains Key: Enabled 49ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 220ms
    [+] Test-TargetResource 10ms
VERBOSE: Sleeping 60 between tests.
   Context Take server out of maintenance mode
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Component ServerWideOffline is not Active
VERBOSE: Component UMCallRouter is not Active
VERBOSE: Component HubTransport is not Active
VERBOSE: Cluster node has a status of Paused
VERBOSE: DatabaseCopyAutoActivationPolicy is set to Blocked
VERBOSE: Component AutoDiscoverProxy is not set to Active
VERBOSE: Component ActiveSyncProxy is not set to Active
VERBOSE: Component EcpProxy is not set to Active
VERBOSE: Component EwsProxy is not set to Active
VERBOSE: Component ImapProxy is not set to Active
VERBOSE: Component OabProxy is not set to Active
VERBOSE: Component OwaProxy is not set to Active
VERBOSE: Component PopProxy is not set to Active
VERBOSE: Component PushNotificationsProxy is not set to Active
VERBOSE: Component RpsProxy is not set to Active
VERBOSE: Component RwsProxy is not set to Active
VERBOSE: Component RpcProxy is not set to Active
VERBOSE: Component XropProxy is not set to Active
VERBOSE: Component HttpProxyAvailabilityGroup is not set to Active
VERBOSE: Component MapiProxy is not set to Active
VERBOSE: Component EdgeTransport is not set to Active
VERBOSE: Component HighAvailability is not set to Active
VERBOSE: Component SharedCache is not set to Active
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting ServerWideOffline component to Active for requester Maintenance
VERBOSE: Setting UMCallRouter component to Active for requester Maintenance
VERBOSE: Running StopDagServerMaintenance.ps1
VERBOSE: DatabaseCopyActivationDisabledAndMoveNow flag will be unset on the server E15-1
VERBOSE: Ending Transport Maintenance
VERBOSE: E15-1 - Retrieving version for the target server
VERBOSE: 7/25/2018 10:31:56 AM,E15-1,EndTM,Start,,,,ServiceState=Online,15.00.1395.004
VERBOSE: Perform operation 'Query CimInstances' with following parameters, ''queryExpression' = SELECT * FROM win32_service WHERE name = 'MSExchangeTransport','queryDialect' = WQL,'namespaceName' = root\
cimv2'.
VERBOSE: Operation 'Query CimInstances' complete.
VERBOSE: Setting HubTransport state to Active
VERBOSE: 7/25/2018 10:32:00 AM,E15-1,StopTransport,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:32:01 AM,E15-1,StopTransport,Completed,,0:00:01.081805,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:32:01 AM,E15-1,StartTransport,Start,,,,,15.00.1395.004
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
VERBOSE: 7/25/2018 10:32:04 AM,E15-1,StartTransport,Completed,,0:00:03.6384357,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:32:05 AM,E15-1,SubmissionQueueCheck,Skipped,,,0,EnableSubmissionQueue=Ready,15.00.1395.004
VERBOSE: 7/25/2018 10:32:05 AM,E15-1,StopEdgeSync,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:32:05 AM,E15-1,StopEdgeSync,Completed,,0:00:00.2833664,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:32:05 AM,E15-1,StartEdgeSync,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:32:07 AM,E15-1,StartEdgeSync,Completed,,0:00:02.1950072,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:32:07 AM,E15-1,StartMessageTrace,Skipped,,,0,MSMessageTracingClient=NotFound,15.00.1395.004
VERBOSE: 7/25/2018 10:32:07 AM,E15-1,EndTM,Completed,,0:00:11.3703535,,ServiceState=Online,15.00.1395.004
VERBOSE: Setting AutoDiscoverProxy component to Active for requester Functional
VERBOSE: Setting ActiveSyncProxy component to Active for requester Functional
VERBOSE: Setting EcpProxy component to Active for requester Functional
VERBOSE: Setting EwsProxy component to Active for requester Functional
VERBOSE: Setting ImapProxy component to Active for requester Functional
VERBOSE: Setting OabProxy component to Active for requester Functional
VERBOSE: Setting OwaProxy component to Active for requester Functional
VERBOSE: Setting PopProxy component to Active for requester Functional
VERBOSE: Setting PushNotificationsProxy component to Active for requester Functional
VERBOSE: Setting RpsProxy component to Active for requester Functional
VERBOSE: Setting RwsProxy component to Active for requester Functional
VERBOSE: Setting RpcProxy component to Active for requester Functional
VERBOSE: Setting XropProxy component to Active for requester Functional
VERBOSE: Setting HttpProxyAvailabilityGroup component to Active for requester Functional
VERBOSE: Setting MapiProxy component to Active for requester Functional
VERBOSE: Setting EdgeTransport component to Active for requester Functional
VERBOSE: Setting HighAvailability component to Active for requester Functional
VERBOSE: Setting SharedCache component to Active for requester Functional
VERBOSE: Found 1 Healthy databases with Activation Preference 1 that should be moved to this server.
VERBOSE: Attempting to move database 'Mailbox Database 1389218521' back to this server.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
    [+] Get-TargetResource: Contains Key: ClusterState 110.32s
    [+] Get-TargetResource: Value Matches for Key: ClusterState 14ms
    [+] Get-TargetResource: Contains Key: Enabled 13ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 9ms
    [+] Test-TargetResource 14ms
   Context Do additional Get-TargetResource verification after taking server out of maintenance mode
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
    [+] ActiveComponentCount is greater than 0 5.57s
    [+] Component ServerWideOffline should be Active 24ms
    [+] Component HubTransport should be Active 9ms
    [+] Component FrontendTransport should be Active 17ms
    [+] Component Monitoring should be Active 60ms
    [+] Component RecoveryActionsEnabled should be Active 99ms
    [+] Component AutoDiscoverProxy should be Active 50ms
    [+] Component ActiveSyncProxy should be Active 76ms
    [+] Component EcpProxy should be Active 58ms
    [+] Component EwsProxy should be Active 52ms
    [+] Component ImapProxy should be Active 38ms
    [+] Component OabProxy should be Active 221ms
    [+] Component OwaProxy should be Active 76ms
    [+] Component PopProxy should be Active 235ms
    [+] Component PushNotificationsProxy should be Active 289ms
    [+] Component RpsProxy should be Active 661ms
    [+] Component RwsProxy should be Active 49ms
    [+] Component RpcProxy should be Active 89ms
    [+] Component UMCallRouter should be Active 14ms
    [+] Component XropProxy should be Active 54ms
    [+] Component HttpProxyAvailabilityGroup should be Active 48ms
    [+] Component MapiProxy should be Active 17ms
    [+] Component EdgeTransport should be Active 54ms
    [+] Component HighAvailability should be Active 14ms
    [+] Component SharedCache should be Active 8ms
    [+] Databases were failed back 214ms
VERBOSE: Sleeping 60 between tests.
   Context Try to put server in maintenance mode using UpgradedServerVersion of an older server.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Server is already at or above the desired upgrade version of '15.0.0.0'. Skipping putting server into maintenance mode.
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Server is already at or above the desired upgrade version of '15.0.0.0'. Skipping putting server into maintenance mode.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Server is already at or above the desired upgrade version of '15.0.0.0'. Skipping putting server into maintenance mode.
    [+] Get-TargetResource: Contains Key: ClusterState 75.1s
    [+] Get-TargetResource: Value Matches for Key: ClusterState 13ms
    [+] Get-TargetResource: Contains Key: Enabled 18ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 19ms
    [+] Test-TargetResource 67ms
VERBOSE: Sleeping 60 between tests.
   Context Put server in maintenance mode using Domain Controller switch
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: DatabaseCopyAutoActivationPolicy is not set to Blocked
VERBOSE: One or more components have a status other than Inactive
VERBOSE: Cluster node has a status of Up
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found 1 replicated databases still activated on this server
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting DatabaseCopyAutoActivationPolicy to Blocked
VERBOSE: Setting UMCallRouter component to Draining for requester Maintenance
VERBOSE: Entering Transport Maintenance
VERBOSE: Starting non-fatal Transport maintenance tasks for 'E15-1' on E15-1
VERBOSE: E15-1 - Retrieving version for the target server
VERBOSE: Getting HubTransport state of E15-1
VERBOSE: ServerComponentState of HubTransport is 'Active'
VERBOSE: 7/25/2018 10:35:09 AM,E15-1,BeginTM,Start,,,,Target=E15-1,15.00.1395.004
VERBOSE: E15-1 - Waiting for BootLoader to be ready...
VERBOSE: E15-1 EdgeTransport has been running for 00:03:07.4366226! Let's give BootLoader 00:05:00  to complete.
VERBOSE: Found matching provider: MSExchangeTransport
VERBOSE: The MSExchangeTransport provider writes events to the Application log.
VERBOSE: Constructed structured query:
<QueryList><Query Id="0" Path="application"><Select Path="application">*[System/Provider[@Name='msexchangetransport'] and (System/TimeCreated[@SystemTime&gt;='2018-07-25T17:32:02.000Z']) and (System/Even
tID=17008)]</Select></Query></QueryList>.
VERBOSE: 7/25/2018 10:35:10 AM,e15-1,BootLoaderCountCheck,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:35:10 AM,e15-1,BootLoaderCountCheck,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:35:11 AM,e15-1,BootLoaderSubmitCheck,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:35:11 AM,e15-1,BootLoaderSubmitCheck,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: E15-1 - BootLoader ended with  items remain
VERBOSE: E15-1 - Start waiting for QueueDrain...
VERBOSE: 7/25/2018 10:35:11 AM,E15-1,QueueDrain,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:35:11 AM,E15-1,QueueDrain,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: E15-1 - Wait for QueueDrain ended with 0 items remain.
VERBOSE: E15-1 - Retrieving the DAG for the target server
VERBOSE: E15-1 - Retrieving other hub transport servers in the DAG - DAG2
VERBOSE: E15-1 - Redirecting messages to RRAS-1.fiftyfifty.local
VERBOSE: E15-1 - Start waiting for Redirect...
VERBOSE: 7/25/2018 10:35:12 AM,E15-1,Redirect,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:35:12 AM,E15-1,Redirect,Completed,,0:00:00.0164836,0,,15.00.1395.004
VERBOSE: E15-1 - Wait for Redirect ended with 0 items remain.
VERBOSE: E15-1 - Forcing heart-beat on server RRAS-1
VERBOSE: E15-1 - Waiting for the heartbeats to complete processing
VERBOSE: E15-1 - Start waiting for ShadowDiscardDrain...
VERBOSE: 7/25/2018 10:35:12 AM,E15-1,ShadowDiscardDrain,Start,,,1,,15.00.1395.004
VERBOSE: E15-1 - ShadowDiscardDrain Progress made. 1 items remain.
VERBOSE: E15-1 - ShadowDiscardDrain NoProgressTimeout occurred. Wait aborted!
VERBOSE: 7/25/2018 10:37:14 AM,E15-1,ShadowDiscardDrain,Completed,,0:02:01.5818774,1,Reason=NoProgressTimeout,15.00.1395.004
VERBOSE: E15-1 - ShadowDiscardDrain ended with 1 items remain.
VERBOSE: Setting HubTransport component state to Inactive
VERBOSE: Setting HubTransport state to Inactive
VERBOSE: 7/25/2018 10:37:14 AM,E15-1,RestartTransport,Info,,,0,ComponentState=Inactive,15.00.1395.004
VERBOSE: 7/25/2018 10:37:14 AM,E15-1,BeginTM,Completed,,0:02:05.334836,,Target=E15-1,15.00.1395.004
VERBOSE: Waiting up to 5 minutes for active UM calls to finish
VERBOSE: Running StartDagServerMaintenance.ps1
VERBOSE: The following objects are hosted by 'E15-1', before attempting to move them off: `n(Database='Mailbox Database 1389218521', Reason='Copy is active') (Database='Mailbox Database 1389218521', Reas
on='There were database redundancy check failures for database 'Mailbox Database 1389218521' that may be lowering its redundancy and putting the database at risk of data loss. Redundancy Count: 1. Expect
ed Redundancy Count: 2. Detailed error(s): 


        e15-1:
        Database 'Mailbox Database 1389218521' does not have enough copies configured to meet the validation criteria.
        '))
VERBOSE: Setting ServerWideOffline component to Inactive for requester Maintenance
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
    [+] Get-TargetResource: Contains Key: ActiveDBCount 219.19s
    [+] Get-TargetResource: Value Matches for Key: ActiveDBCount 13ms
    [+] Get-TargetResource: Contains Key: ClusterState 36ms
    [+] Get-TargetResource: Value Matches for Key: ClusterState 12ms
    [+] Get-TargetResource: Contains Key: ActiveUMCallCount 11ms
    [+] Get-TargetResource: Value Matches for Key: ActiveUMCallCount 28ms
    [+] Get-TargetResource: Contains Key: QueuedMessageCount 90ms
    [+] Get-TargetResource: Value Matches for Key: QueuedMessageCount 29ms
    [+] Get-TargetResource: Contains Key: ActiveComponentCount 13ms
    [+] Get-TargetResource: Value Matches for Key: ActiveComponentCount 9ms
    [+] Get-TargetResource: Contains Key: Enabled 71ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 20ms
    [+] Test-TargetResource 13ms
VERBOSE: Sleeping 60 between tests.
   Context Take server out of maintenance mode using Domain Controller switch
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Component ServerWideOffline is not Active
VERBOSE: Component UMCallRouter is not Active
VERBOSE: Component HubTransport is not Active
VERBOSE: Cluster node has a status of Paused
VERBOSE: DatabaseCopyAutoActivationPolicy is set to Blocked
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting ServerWideOffline component to Active for requester Maintenance
VERBOSE: Setting UMCallRouter component to Active for requester Maintenance
VERBOSE: Running StopDagServerMaintenance.ps1
VERBOSE: DatabaseCopyActivationDisabledAndMoveNow flag will be unset on the server E15-1
VERBOSE: Ending Transport Maintenance
VERBOSE: E15-1 - Retrieving version for the target server
VERBOSE: 7/25/2018 10:38:48 AM,E15-1,EndTM,Start,,,,ServiceState=Online,15.00.1395.004
VERBOSE: Perform operation 'Query CimInstances' with following parameters, ''queryExpression' = SELECT * FROM win32_service WHERE name = 'MSExchangeTransport','queryDialect' = WQL,'namespaceName' = root\
cimv2'.
VERBOSE: Operation 'Query CimInstances' complete.
VERBOSE: Setting HubTransport state to Active
VERBOSE: 7/25/2018 10:38:51 AM,E15-1,StopTransport,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:38:53 AM,E15-1,StopTransport,Completed,,0:00:02.0978972,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:38:53 AM,E15-1,StartTransport,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:38:55 AM,E15-1,StartTransport,Completed,,0:00:02.6876517,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:38:56 AM,E15-1,SubmissionQueueCheck,Skipped,,,0,EnableSubmissionQueue=Ready,15.00.1395.004
VERBOSE: 7/25/2018 10:38:56 AM,E15-1,StopEdgeSync,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:38:56 AM,E15-1,StopEdgeSync,Completed,,0:00:00.281338,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:38:56 AM,E15-1,StartEdgeSync,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:38:58 AM,E15-1,StartEdgeSync,Completed,,0:00:01.7344099,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:38:58 AM,E15-1,StartMessageTrace,Skipped,,,0,MSMessageTracingClient=NotFound,15.00.1395.004
VERBOSE: 7/25/2018 10:38:58 AM,E15-1,EndTM,Completed,,0:00:09.6293394,,ServiceState=Online,15.00.1395.004
VERBOSE: Found 1 Healthy databases with Activation Preference 1 that should be moved to this server.
VERBOSE: Attempting to move database 'Mailbox Database 1389218521' back to this server.
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
    [+] Get-TargetResource: Contains Key: ClusterState 90.65s
    [+] Get-TargetResource: Value Matches for Key: ClusterState 8ms
    [+] Get-TargetResource: Contains Key: Enabled 23ms
    [+] Get-TargetResource: Value Matches for Key: Enabled 35ms
    [+] Test-TargetResource 58ms
   Context Do additional Get-TargetResource verification after taking server out of maintenance mode
VERBOSE: Entering function 'Get-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found database 'Mailbox Database 1389218521' with a replication type of 'Remote' and a status of 'Mounted'.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
    [+] ActiveComponentCount is greater than 0 4.01s
    [+] Component ServerWideOffline should be Active 49ms
    [+] Component HubTransport should be Active 73ms
    [+] Component FrontendTransport should be Active 23ms
    [+] Component Monitoring should be Active 113ms
    [+] Component RecoveryActionsEnabled should be Active 31ms
    [+] Component AutoDiscoverProxy should be Active 24ms
    [+] Component ActiveSyncProxy should be Active 39ms
    [+] Component EcpProxy should be Active 29ms
    [+] Component EwsProxy should be Active 36ms
    [+] Component ImapProxy should be Active 21ms
    [+] Component OabProxy should be Active 146ms
    [+] Component OwaProxy should be Active 34ms
    [+] Component PopProxy should be Active 62ms
    [+] Component PushNotificationsProxy should be Active 87ms
    [+] Component RpsProxy should be Active 72ms
    [+] Component RwsProxy should be Active 61ms
    [+] Component RpcProxy should be Active 61ms
    [+] Component UMCallRouter should be Active 185ms
    [+] Component XropProxy should be Active 589ms
    [+] Component HttpProxyAvailabilityGroup should be Active 19ms
    [+] Component MapiProxy should be Active 38ms
    [+] Component EdgeTransport should be Active 69ms
    [+] Component HighAvailability should be Active 54ms
    [+] Component SharedCache should be Active 29ms
    [+] Databases were failed back 221ms
VERBOSE: Sleeping 60 between tests.
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting DatabaseCopyAutoActivationPolicy to Blocked
VERBOSE: Setting UMCallRouter component to Draining for requester Maintenance
VERBOSE: Entering Transport Maintenance
VERBOSE: Starting non-fatal Transport maintenance tasks for 'E15-1' on E15-1
VERBOSE: E15-1 - Retrieving version for the target server
VERBOSE: Getting HubTransport state of E15-1
VERBOSE: ServerComponentState of HubTransport is 'Active'
VERBOSE: 7/25/2018 10:40:22 AM,E15-1,BeginTM,Start,,,,Target=E15-1,15.00.1395.004
VERBOSE: E15-1 - Waiting for BootLoader to be ready...
VERBOSE: E15-1 EdgeTransport has been running for 00:01:29.0091022! Let's give BootLoader 00:05:00  to complete.
VERBOSE: Found matching provider: MSExchangeTransport
VERBOSE: The MSExchangeTransport provider writes events to the Application log.
VERBOSE: Constructed structured query:
<QueryList><Query Id="0" Path="application"><Select Path="application">*[System/Provider[@Name='msexchangetransport'] and (System/TimeCreated[@SystemTime&gt;='2018-07-25T17:38:53.000Z']) and (System/Even
tID=17008)]</Select></Query></QueryList>.
VERBOSE: 7/25/2018 10:40:23 AM,e15-1,BootLoaderCountCheck,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:40:23 AM,e15-1,BootLoaderCountCheck,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:40:24 AM,e15-1,BootLoaderSubmitCheck,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:40:24 AM,e15-1,BootLoaderSubmitCheck,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: E15-1 - BootLoader ended with  items remain
VERBOSE: E15-1 - Start waiting for QueueDrain...
VERBOSE: 7/25/2018 10:40:24 AM,E15-1,QueueDrain,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:40:24 AM,E15-1,QueueDrain,Completed,,0:00:00.0156289,0,,15.00.1395.004
VERBOSE: E15-1 - Wait for QueueDrain ended with 0 items remain.
VERBOSE: E15-1 - Retrieving the DAG for the target server
VERBOSE: E15-1 - Retrieving other hub transport servers in the DAG - DAG2
VERBOSE: E15-1 - Redirecting messages to RRAS-1.fiftyfifty.local
VERBOSE: E15-1 - Start waiting for Redirect...
VERBOSE: 7/25/2018 10:40:25 AM,E15-1,Redirect,Start,,,0,,15.00.1395.004
VERBOSE: 7/25/2018 10:40:25 AM,E15-1,Redirect,Completed,,0:00:00,0,,15.00.1395.004
VERBOSE: E15-1 - Wait for Redirect ended with 0 items remain.
VERBOSE: E15-1 - Forcing heart-beat on server RRAS-1
VERBOSE: E15-1 - Waiting for the heartbeats to complete processing
VERBOSE: E15-1 - Start waiting for ShadowDiscardDrain...
VERBOSE: 7/25/2018 10:40:26 AM,E15-1,ShadowDiscardDrain,Start,,,1,,15.00.1395.004
VERBOSE: E15-1 - ShadowDiscardDrain Progress made. 1 items remain.
VERBOSE: E15-1 - ShadowDiscardDrain NoProgressTimeout occurred. Wait aborted!
VERBOSE: 7/25/2018 10:42:27 AM,E15-1,ShadowDiscardDrain,Completed,,0:02:01.149824,1,Reason=NoProgressTimeout,15.00.1395.004
VERBOSE: E15-1 - ShadowDiscardDrain ended with 1 items remain.
VERBOSE: Setting HubTransport component state to Inactive
VERBOSE: Setting HubTransport state to Inactive
VERBOSE: 7/25/2018 10:42:28 AM,E15-1,RestartTransport,Info,,,0,ComponentState=Inactive,15.00.1395.004
VERBOSE: 7/25/2018 10:42:28 AM,E15-1,BeginTM,Completed,,0:02:05.7311468,,Target=E15-1,15.00.1395.004
VERBOSE: Waiting up to 5 minutes for active UM calls to finish
VERBOSE: Running StartDagServerMaintenance.ps1
VERBOSE: The following objects are hosted by 'E15-1', before attempting to move them off: `n(Database='Mailbox Database 1389218521', Reason='Copy is active') (Database='Mailbox Database 1389218521', Reas
on='There were database redundancy check failures for database 'Mailbox Database 1389218521' that may be lowering its redundancy and putting the database at risk of data loss. Redundancy Count: 1. Expect
ed Redundancy Count: 2. Detailed error(s): 


        e15-1:
        Database 'Mailbox Database 1389218521' does not have enough copies configured to meet the validation criteria.
        '))
VERBOSE: Setting ServerWideOffline component to Inactive for requester Maintenance
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'True'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Found queue 'e15-1\Submission' with a message count of '0'.
 [+] Server should be in maintenance mode 211.8s
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting ServerWideOffline component to Active for requester Maintenance
VERBOSE: Setting UMCallRouter component to Active for requester Maintenance
VERBOSE: Running StopDagServerMaintenance.ps1
VERBOSE: DatabaseCopyActivationDisabledAndMoveNow flag will be unset on the server E15-1
VERBOSE: Ending Transport Maintenance
VERBOSE: E15-1 - Retrieving version for the target server
VERBOSE: 7/25/2018 10:42:58 AM,E15-1,EndTM,Start,,,,ServiceState=Online,15.00.1395.004
VERBOSE: Perform operation 'Query CimInstances' with following parameters, ''queryExpression' = SELECT * FROM win32_service WHERE name = 'MSExchangeTransport','queryDialect' = WQL,'namespaceName' = root\
cimv2'.
VERBOSE: Operation 'Query CimInstances' complete.
VERBOSE: Setting HubTransport state to Active
VERBOSE: 7/25/2018 10:43:01 AM,E15-1,StopTransport,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:43:02 AM,E15-1,StopTransport,Completed,,0:00:01.2181923,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:43:02 AM,E15-1,StartTransport,Start,,,,,15.00.1395.004
WARNING: Waiting for service 'Microsoft Exchange Transport (MsExchangeTransport)' to start...
VERBOSE: 7/25/2018 10:43:05 AM,E15-1,StartTransport,Completed,,0:00:02.9518693,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:43:05 AM,E15-1,SubmissionQueueCheck,Skipped,,,0,EnableSubmissionQueue=Ready,15.00.1395.004
VERBOSE: 7/25/2018 10:43:05 AM,E15-1,StopEdgeSync,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:43:05 AM,E15-1,StopEdgeSync,Completed,,0:00:00.2812016,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:43:05 AM,E15-1,StartEdgeSync,Start,,,,,15.00.1395.004
VERBOSE: 7/25/2018 10:43:07 AM,E15-1,StartEdgeSync,Completed,,0:00:01.6963244,,MaxWaitMinutes=5,15.00.1395.004
VERBOSE: 7/25/2018 10:43:07 AM,E15-1,StartMessageTrace,Skipped,,,0,MSMessageTracingClient=NotFound,15.00.1395.004
VERBOSE: 7/25/2018 10:43:07 AM,E15-1,EndTM,Completed,,0:00:08.6151385,,ServiceState=Online,15.00.1395.004
VERBOSE: Setting AutoDiscoverProxy component to Active for requester Functional
VERBOSE: Setting ActiveSyncProxy component to Active for requester Functional
VERBOSE: Setting EcpProxy component to Active for requester Functional
VERBOSE: Setting EwsProxy component to Active for requester Functional
VERBOSE: Setting ImapProxy component to Active for requester Functional
VERBOSE: Setting OabProxy component to Active for requester Functional
VERBOSE: Setting OwaProxy component to Active for requester Functional
VERBOSE: Setting PopProxy component to Active for requester Functional
VERBOSE: Setting PushNotificationsProxy component to Active for requester Functional
VERBOSE: Setting RpsProxy component to Active for requester Functional
VERBOSE: Setting RwsProxy component to Active for requester Functional
VERBOSE: Setting RpcProxy component to Active for requester Functional
VERBOSE: Setting XropProxy component to Active for requester Functional
VERBOSE: Setting HttpProxyAvailabilityGroup component to Active for requester Functional
VERBOSE: Setting MapiProxy component to Active for requester Functional
VERBOSE: Setting EdgeTransport component to Active for requester Functional
VERBOSE: Setting HighAvailability component to Active for requester Functional
VERBOSE: Setting SharedCache component to Active for requester Functional
VERBOSE: Found 1 Healthy databases with Activation Preference 1 that should be moved to this server.
VERBOSE: Attempting to move database 'Mailbox Database 1389218521' back to this server.
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Component ImapProxy is not set to Active
 [+] Test should fail 33.27s
VERBOSE: Entering function 'Set-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
VERBOSE: Setting ImapProxy component to Active for requester Functional
VERBOSE: Setting ImapProxy component to Active for requester HealthApi
VERBOSE: Found 0 Healthy databases with Activation Preference 1 for this server that are currently not hosted on this server
VERBOSE: Entering function 'Test-TargetResource'. Notable parameters: Enabled = 'False'
VERBOSE: Reusing existing Remote Powershell Session to Exchange
VERBOSE: Connecting to cluster on local computer E15-1.
 [+] Test should succeed 15.79s
Tests completed in 1103.01s
Passed: 96 Failed: 0 Skipped: 0 Pending: 0 Inconclusive: 0

This change is Reviewable

@codecov-io
Copy link

codecov-io commented Jul 25, 2018

Codecov Report

Merging #272 into dev will increase coverage by <.01%.
The diff coverage is 0%.

Impacted file tree graph

@@           Coverage Diff            @@
##             dev    #272      +/-   ##
========================================
+ Coverage   0.95%   0.95%   +<.01%     
========================================
  Files         36      36              
  Lines       3996    3991       -5     
========================================
  Hits          38      38              
+ Misses      3958    3953       -5
Impacted Files Coverage Δ
...SFT_xExchMaintenanceMode/TransportMaintenance.psm1 0% <0%> (ø) ⬆️
...ExchMaintenanceMode/MSFT_xExchMaintenanceMode.psm1 0.26% <0%> (-0.03%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 57e4b0d...10f55b0. Read the comment docs.

@mhendric mhendric added the needs review The pull request needs a code review. label Jul 25, 2018
Copy link
Member

@johlju johlju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 6 of 6 files at r1.
Reviewable status: all files reviewed, 21 unresolved discussions (waiting on @mhendric)


DSCResources/MSFT_xExchMaintenanceMode/MSFT_xExchMaintenanceMode.psm1, line 129 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/MSFT_xExchMaintenanceMode.psm1, line 286 at r1 (raw file):

"pauseClusterNode"

We should use single quotes where applicable. Throughout (see two more below)


DSCResources/MSFT_xExchMaintenanceMode/MSFT_xExchMaintenanceMode.psm1, line 1098 at r1 (raw file):

        $DomainController,

        [Parameter()]

We should make these parameters mandatory , or set these to the default values as well?


DSCResources/MSFT_xExchMaintenanceMode/MSFT_xExchMaintenanceMode.psm1, line 1460 at r1 (raw file):

        $DomainController,

        [Parameter()]

We should make these parameters mandatory , or set these to the default values as well?


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 44 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 109 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 290 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 390 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 438 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 735 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 767 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 943 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 1109 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 1131 at r1 (raw file):

$PSCmdlet.ShouldProcess

This should be change to Write-Verbose instead of ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 1349 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 1410 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 2526 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 2545 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 2567 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 2583 at r1 (raw file):

$PSCmdlet.ShouldProcess

This should be change to Write-Verbose instead of ShouldProcess.


DSCResources/MSFT_xExchMaintenanceMode/TransportMaintenance.psm1, line 2676 at r1 (raw file):

SupportsShouldProcess=$True

We should not use this, as DSC cannot use ShouldProcess.

@johlju johlju added waiting for code fix A review left open comments, and the pull request is waiting for changes to be pushed by the author. and removed needs review The pull request needs a code review. labels Jul 26, 2018
@mhendric
Copy link
Contributor Author

Thanks for the review, I'll get this updated. Regarding the DomainController parameters, I don't think those should be mandatory. The consumer has the option of specifying a DomainController when using the resource, but it's absolutely not required.

@mhendric
Copy link
Contributor Author

Update pushed. Note that for all the previously added SupportsShouldProcess sections, I just reverted to the original code, and then added a suppress statement for that rule. Hopefully that is acceptable.

@mhendric mhendric added needs review The pull request needs a code review. and removed waiting for code fix A review left open comments, and the pull request is waiting for changes to be pushed by the author. labels Jul 26, 2018
Copy link
Member

@johlju johlju left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:lgtm:

Reviewed 2 of 2 files at r2.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @mhendric)


DSCResources/MSFT_xExchMaintenanceMode/MSFT_xExchMaintenanceMode.psm1, line 129 at r2 (raw file):

function Set-TargetResource
{
    [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "")]

Curious. There should be no need for a suppress statement, since the test framework ignores that rule, see https://github.com/PowerShell/DscResources/blob/master/PSSARuleSeverities.md#ignore.
Where are you seeing this being reported by script analyzer?

@mhendric
Copy link
Contributor Author

I'm seeing that when manually running PSScriptAnalyzer (1.17.1) offline on my dev machine.

@johlju
Copy link
Member

johlju commented Jul 30, 2018

@mhendric ah, I'm using VS Code and it is not enabled there so I'm not seeing this. I personally think it would be better to exclude the rule when running Invoke-ScriptAnalyzer, as well as these others in the ignore section of PSSARuleSeverities.md, than suppressing the rule in the code. When I have time I will look into the option to enable the rules in VS Code so they are reported according to the guidelines.

@mhendric
Copy link
Contributor Author

@johlju , do you think I should remove these new suppress statements then, or should I just not worry about adding them in the future?

@johlju
Copy link
Member

johlju commented Jul 30, 2018

You are the maintainer of this resource module, so in the end you decide :) I just thought there are unnecessary code to add. You don't have to remove them.

Please look at PR PowerShell/DscResources#424, it adds a settings file that can be used to Invoke-ScriptAnalyzer with. It also checks (uses) the custom rules in DscResource.Tests (if cloned into the local repo path).

@mhendric
Copy link
Contributor Author

Ok, I'm going to leave these suppression statements in, but will avoid unnecessary ones in the future. I'll make sure to run Invoke-ScriptAnalyzer with the proper ignore switches going forward.

@mhendric mhendric merged commit c01fa4a into dsccommunity:dev Jul 30, 2018
@johlju johlju removed the needs review The pull request needs a code review. label Jul 30, 2018
@mhendric mhendric deleted the FixMaintenanceModeIssues branch September 7, 2018 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Problem with xExchMaintenanceMode
3 participants