Connect-VIServer -Server 192.168.xxx.xxx -User xxx -Password xxx
$server = Connect-VIServer -Server 192.168.xxx.xxx -User xxx -Password xxx
$global:defaultVIServer = $server
function Get-DatastoreDir ($DSName){
$dsImpl = Get-Datastore -Name $DSName
$ds = Get-Datastore -Name $DSName | Get-View
$dsBrowser = Get-View -Id $ds.Browser
$datastorepath = "[http://" + $ds.Summary.Name + "|http://" + $ds.Summary.Name + "]"
$searchspec = New-Object VMware.Vim.HostDatastoreBrowserSearchSpec
$searchSpec.matchpattern = "*"
$searchSpec.details = New-Object VMware.Vim.FileQueryFlags
$searchSpec.details.fileSize = $true
$searchSpec.details.fileType = $true
$searchSpec.details.modification = $true
$taskMoRef = $dsBrowser.SearchDatastoreSubFolders_Task($datastorePath, $searchSpec)
$task = Get-View $taskMoRef
while ($task.Info.State -eq "running"){$task = Get-View $taskMoRef}
$report = @()
foreach ($result in $task.info.Result){
foreach($file in $result.File){
if($file.GetType().Name -ne "FolderFileInfo"){
$row = "" | Select Filename, Folder, Filesize, Modification
$row.Filename = $file.Path
$row.Folder = $result.FolderPath
$row.Filesize = $file.FileSize
$row.Modification = $file.Modification
$report += $row
}
}
}
$report
}
Get-DatastoreDir <datastore-name> | Where-Object {$_.Filename -match "flat"}
Get-Datastore | %{Get-DatastoreDir $_.Name} | Where-Object {$_.Filename -match "flat"}
Online access to the latest VMworld Sessions & Labs and online services.
Learn morePurchase credits to redeem training and consulting services online.
Buy Now