Use PowerShell to Create a Scheduled Task that Uses PowerShell to Pause and Resume AppAssure Core Replication

In this scenario there are multiple AppAssure Core servers, one at each physical location that is used to backup the local servers. Each AppAssure Core server is setup to replicate its data to an offsite AppAssure Core server at a separate physical location across a wide area network for disaster recovery purposes. Due to bandwidth constraints, you want to pause the replication between the AppAssure Core servers during normal business hours.

PowerShell Remoting Insanity with AppAssure and the Invoke-Command Cmdlet

Although simple, I thought I would share the following PowerShell script since it’s neat due to the fact that it uses the PowerShell remoting Invoke-Command cmdlet to retrieve a list of server names that are protected by an AppAssure Core server where the status is not protected, then it uses the output of that portion of the script (Nesting in parenthesis) as the input for the ComputerName parameter of the outer portion of the script which uses another Invoke-Command to attempt to start the AppAssureAgent service on those servers that were returned by the nested portion of the script:

Using PowerShell Remoting to Manage Multiple AppAssure Core Servers

In my last blog, I was logged directly into an AppAssure Core server via remote desktop and was running PowerShell commands in the PowerShell console directly on the server. Managing your servers by RDPing directly into them is a bad practice in my opinion. In this blog, I’ll explore a few options that could be used to manage an AppAssure Core server with PowerShell without having to resort to logging directly into it with Remote Desktop.

Using PowerShell to Determine AppAssure Agent Status and Version

The Get-ProtectedServers PowerShell cmdlet which is part of the AppAssure PowerShell Module that’s installed on your AppAssure Core server version 5.3.1 or higher allows you to determine what servers are being protected by a particular AppAssure Core server. Since I’m running PowerShell version 3 on the AppAssure Core server shown in the example below, I didn’t have to explicitly import the AppAssure PowerShell module, if you’re running PowerShell version 2, you would need to run Import-Module AppAssurePowerShellModule prior to running the Get-ProtectedServers cmdlet.

Dell AppAssure Version 5.3.1 Adds PowerShell Support

I’ve been working with Dell AppAssure for several months now and in their version 5.3.1 release they’ve added PowerShell support via a module named AppAssurePowerShellModule. There are a total of 31 cmdlets in this Module: One thing that I thought was interesting is according to AppAssure’s documentation on how to import their PowerShell module, it states that PowerShell version 3 is preferred. Over the next few weeks I’ll cover some of the tasks that I’ve used the cmdlets in this module to accomplish to include certain tasks that can’t be accomplished at all in the GUI.