Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2614
  • Last Modified:

Command for MPIO

I am looking for a command or a script to find the version of MPIO for a list of servers (Win2k8 and Win2k3)
0
jmohan0302
Asked:
jmohan0302
  • 7
  • 5
1 Solution
 
Sasha KranjacCommented:
You can manage MPIO using PowerShell but MultiPath I/O is available on Windows Server 2012 only.

Here are the cmdlets for MPIO on Microsoft TechNet: MultiPath I/O (MPIO) Cmdlets in Windows PowerShell

Another nice article can be found here: Managing MPIO with Windows PowerShell on Windows Server 2012
0
 
jmohan0302Author Commented:
Thnx.  I would like to know can this be used to find the version of MPIO. It will be helpful if I get a script to find this
0
 
Sasha KranjacCommented:
During the MPIO install on Windows Server 2008 R2 corresponding registry subkeys are created. You could write a script to query remote computers if such registry subkeys exist.
For example, to find MPIO driver version on remote computer type:

C:\Windows\system32>reg query \\Machine\HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0004 /s

where Machine is the name of the computer you are querying. If the command is run locally, \\Machine\ is omitted.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
jmohan0302Author Commented:
I tried this command but I am getting the below error:

ERROR: The system was unable to find the specified registry key or value.

whats next
0
 
Sasha KranjacCommented:
Try first searching if MPIO specific registry entry exist, and if it does query the key to find driver version. Examples below perform search on local server.

1. search for entries

reg query HKLM\SYSTEM\CurrentControlSet\Control\Class /s /f "Microsoft Multi-Path Bus Driver"

2. query the key you got as a result to find driver version. It should be listed under DriverVersion
(I am using the key I got from one of my servers as an example)

reg query HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0004
0
 
jmohan0302Author Commented:
I got the following output from one of my machine, in this where can I find the MPIO version, also the powershell command let is not found for MPIO, do I need to install any powershell module for MPIO


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BF
C1-08002BE10318}
    LegacyAdapterDetection    REG_DWORD    0x0
    Class    REG_SZ    SCSIAdapter
    ClassDesc    REG_SZ    @%SystemRoot%\System32\SysClass.Dll,-3005
    (Default)    REG_SZ    Storage controllers
    IconPath    REG_MULTI_SZ    %SystemRoot%\System32\setupapi.dll,-10
    Installer32    REG_SZ    SysClass.Dll,ScsiClassInstaller

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BF
C1-08002BE10318}\0000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BF
C1-08002BE10318}\Properties
0
 
Sasha KranjacCommented:
I omitted to say that I have typed these commands in cmd.exe.

This command in PowerShell lists Microsoft MPIO driver version:

Get-ItemProperty -Path c:\windows\system32\drivers\mpio.sys | Format-List -Property *

To check if module is installed, type:

Get-WindowsOptionalFeature –Online –FeatureName MultiPathIO

If you have another version MPIO solution modify path to list specific drivers properties.
0
 
Sasha KranjacCommented:
Have you tried yet the PowerShell commands from the last comment?
0
 
jmohan0302Author Commented:
multipath IO has been installed, but none of the MPIO commands in the powershell is working......
0
 
Sasha KranjacCommented:
Hmm...

Usually the MPIO driver in Windows is mpio.sys. Regardless of the file and its vendor the point is to find the version of the file/driver.

Try this command:

driverquery /S system /U domain\username /P password /FO CSV > driverlist.csv
where system is the remote computer you are querying; domain and username are credentials you use to connect to query the remote computer. If /P password is omitted then you will be asked for password; /FO CSV > directs output to driverlist.csv file in the working folder.

What is even better, PowerShell can do this and a lot more:

driverquery.exe /v /fo csv | ConvertFrom-CSV
will get you a list and properties of installed drivers. To make it more readable and choose what do display (for example) type:

driverquery.exe /v /fo csv | ConvertFrom-CSV | Select-Object "Display Name", "State", "Status", Path
Finally, to find out a version of the file (shell32.dll is used as an example) type either:

(Get-Command c:\windows\system32\shell32.dll).FileVersionInfo
or

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("c:\windows\system32\shell32.dll").FileVersion
I prefer the first one instead of calling .NET class because it has more readable output.
0
 
jmohan0302Author Commented:
thnx
0
 
Sasha KranjacCommented:
You're welcome!
0

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 7
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now