This post is intended as an overview of capabilities present in the MPIO module for managing MPIO on Windows Server 2012.
Note: The MPIO feature is available on Windows Server 2012 versions only.
Use of the MPIO module in Windows PowerShell requires an “elevated” PowerShell window, opened with Administrator privileges.
To determine if MPIO is currently installed, use the following command:
Get-WindowsOptionalFeature –Online –FeatureName MultiPathIO
If the MPIO feature is not currently installed, use the following command to enable the MPIO feature:
Enable-WindowsOptionalFeature –Online –FeatureName MultiPathIO
To disable the MPIO feature, use the following command:
Disable-WindowsOptionalFeature –Online –FeatureName MultiPathIO
Note: Not all of these cmdlets are available in the Release Preview.
Full help and example content for the MPIO module is available via the following method:
For a complete list of available PowerShell cmdlets in the MPIO module, including usage and examples, please refer to the following TechNet site:
MPIO Cmdlets in Windows PowerShell http://technet.microsoft.com/library/hh826113.aspx
You can also obtain help for individual commands by specifying the cmdlet with Get-Help, such as shown below:
Get-Help Get-MPIOAvailableHW
In Windows 8, PowerShell modules which ship with Windows do not include help content “in-box” instead this content is provided on the Internet, and may be updated via PowerShell from a computer which has Internet access.
Once a PowerShell module has been imported into the current PowerShell session, the help content may be downloaded and updated via the following command:
Update-Help
Note: the –Force parameter must be used if attempting to update more than once per 24 hour period.
The get-help cmdlet offers multiple levels of verbosity, which include
For example, in order to obtain script examples for the Get-MPIOAvailableHW cmdlet, the following command is utilized:
Get-Help Get-MPIOAvailableHW –Examples
In this example, I wish to perform the following tasks:
Tip: If these steps are performed prior to connecting devices of the desired BusType, you can typically avoid the need for a restart.
Here is what this script would look like:
Timers for MPIO can be managed using the Get-MPIOSetting and Set-MPIOSetting PowerShell cmdlets:
Example: Viewing the current MPIO settings.
MPIO PowerShell cmdlets list and help documentation: http://technet.microsoft.com/library/hh826113.aspx