2013-07-30 8 views
1

클러스터 된 디스크가 있고이를 cmdlet get-clusterresource에서 가져올 수 있다고 가정합니다.PowerShell get-clusterresource cmdlet에서 "c :", "d :"등과 같은 드라이브 문자를 가져 오는 방법은 무엇입니까?

PS N:\> get-clusterresource | ?{$_.resourcetype.name -eq "Physical Disk"} 

Name    State  Group    ResourceType 
----    -----  -----    ------------ 
Cluster Disk 1 Online  Cluster Group  Physical Disk 
Cluster Disk 2 Online  SQLServer   Physical Disk 
Cluster Disk 3 Online  SQLServer   Physical Disk 
Cluster Disk 4 Online  SQLServer   Physical Disk 
Cluster Disk 5 Online  SQLServer   Physical Disk 
Cluster Disk 6 Online  WINCLUSTER  Physical Disk 
Cluster Disk 7 Online  SQLServer   Physical Disk 
Cluster Disk 8 Online  SQLServer   Physical Disk 
Cluster Disk 9 Online  SQLServer   Physical Disk 

어떻게하면 해당 드라이브 문자를 얻을 수 있습니까? 이러한 디스크는 동일한 노드에 없을 수 있습니다.

get-clusterparameter cmdlet을 사용하려고했지만이 정보가 없습니다.

감사합니다.

+0

드라이브 문자가 논리 디스크를 참조하십시오. .. 물리적 디스크가 아닙니다. 귀하의 질문을 이해하지 못했습니다. – JPBlanc

답변

2

는 빠른 인터넷 검색은 다음과 같이 채택 될 수 this article 켜져 :

Get-ClusterResource | ? { $_.ResourceType.Name -eq "Physical Disk" } | % { 
    $resourceName = $_.Name 

    $resource = gwmi MSCluster_Resource -Namespace root/mscluster | 
       ? { $_.Name -eq $resourceName } 
    $disk  = gwmi -Namespace root/mscluster -Query ` 
       "ASSOCIATORS OF {$resource} WHERE ResultClass=MSCluster_Disk" 
    $partition = gwmi -Namespace root/mscluster -Query ` 
       "ASSOCIATORS OF {$disk} WHERE ResultClass=MSCluster_DiskPartition" 

    $partition | select Path 
} 

을 또는이 같은 파이프 라인에서 작업을 수행 할 수 있습니다

$diskqry = 'ASSOCIATORS OF {{{0}}} WHERE ResultClass=MSCluster_Disk' 
$partqry = 'ASSOCIATORS OF {{{0}}} WHERE ResultClass=MSCluster_DiskPartition' 

Get-ClusterResource | ? { $_.ResourceType.Name -eq 'Physical Disk' } ` 
    | % { gwmi MSCluster_Resource -Namespace root/mscluster -Filter "Name='$_'" } ` 
    | % { gwmi -Namespace root/mscluster -Query ($diskqry -f $_) } ` 
    | % { gwmi -Namespace root/mscluster -Query ($partqry -f $_) } ` 
    | select Path