• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 562
  • Last Modified:

Powershell script / command

Help me with the powershell Script/command  to get the details of the Drives for the list of  servers ( whether drive provided  is Physical/Storage drive).If the disk is provided from storage, then we need the detail about the disk/drive, which we will be forwarding to the Storage team to remove the disk/drive.

We normally used to logon into the server manually and from the device driver will be collecting the drive details.I am apart of build team where we would be doing the decommision of servers, as part we would be collecting the drive/disk information before unracking the servers.
0
Venugopal N
Asked:
Venugopal N
1 Solution
 
chlebiTeam Leader IT InfrastructureCommented:
I did not try as I don't have computer access at the moment but something like this could work:
GET-WMIOBJECT -query "SELECT * from win32_logicaldisk" -computer computername

This shuld work as a start - at least this gives you drive list from remote machine. Then you need to filter and grab data you need.
0
 
Joseph DalyCommented:
I think you want to use the physical disk versus the logical disk. This way you can see more details on it

get-wmiobject win32_diskdrive -computer computername | select-object *
0
 
Venugopal NAuthor Commented:
I have worked out earlier by using Wmiobject , but most of time it gives RPC server is unavailable.I was looking for some other option.
0
How do you know if your security is working?

Protecting your business doesn’t have to mean sifting through endless alerts and notifications. With WatchGuard Total Security Suite, you can feel confident that your business is secure, meaning you can get back to the things that have been sitting on your to-do list.

 
Johan OhlssonMS Production Server Engineer Commented:
Hi!

Can this be something:

1. Open Powershell than use: Enter-PSSession -ComputerName XXXXXXX      
X= Servername (If you do not can connect to the server, you need to enable PSRemote on the server you are going to connect.)

2. Invoke-Command -ComputerName XXXXXXX -ScriptBlock {Get-WmiObject -query "Select * from Win32_logicaldisk" | Format-Table $Item -auto} -credential Domain\User

3. log in

Regardes
Johan
0
 
Johan OhlssonMS Production Server Engineer Commented:
Hi

Try this:

Get-Content "ListofComputers.txt" | Foreach-Object {Get-WmiObject -Computername $_ -Class Win32_DiskDrive -Filter "Model like '%PowerPath%'" | select systemname,deviceid,model}

Regards
Johan
0
 
Johan OhlssonMS Production Server Engineer Commented:
Hi again!

Try this also:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Storage.Vds") | Out-Null
$oVdsServiceLoader = New-Object Microsoft.Storage.Vds.ServiceLoader
$oVdsService = $oVdsServiceLoader.LoadService($null)
$oVdsService.WaitForServiceReady()
$oVdsService.Reenumerate()
$cDisks = ($oVdsService.Providers |% {$_.Packs}) |% {$_.Disks}
$cPacks = $oVdsService.Providers |% {$_.Packs}

foreach($oPack in $cPacks)
{
    If($oPack.Status -eq "Online")
    {
        foreach($oDisk in $oPack.Disks)
        {
            Write-Host "$($oDisk.FriendlyName) ( $($oDisk.BusType) )"
        }


        foreach($oVolume in $oPack.Volumes)
        {
            Write-Host "`t$($oVolume.AccessPaths) ( $($oVolume.Label) )"
        }

    }
}


Regardes
Johan
0
 
Venugopal NAuthor Commented:
WMiObject doesnt help as specified.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

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