Microsoft Windows: How to Collect Perfmon From All Nodes of a Cluster with PowerShell
Summary: This article explains how to collect performance logs from all nodes of a cluster with PowerShell.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
Run powershell as Administrator then copy and paste the following command:
Get-ClusterNode).Name | % {Invoke-Command -ComputerName $_ -ScriptBlock {"$(logman create counter FULL-Short -o "c:\diag\%computername%_PerfLog-Short.blg" -f bincirc -v mmddhhmm -max 500 -c "\Cache\*" "\Cluster CSV File System(*)\*" "\Cluster CSV Volume Cache(*)\*" "\Cluster CSV Volume Manager(*)\*" "\Cluster CSVFS(*)\*" "\Cluster Storage Cache Stores(*)\*" "\Cluster Storage Hybrid Disks(*)\*" "\Hyper-V Hypervisor Logical Processor(*)\*" "\Hyper-V Hypervisor Partition(*)\*" "\Hyper-V Hypervisor Root Partition(*)\*" "\Hyper-V Hypervisor Root Virtual Processor(*)\*" "\Hyper-V Hypervisor Virtual Processor(*)\*" "\Hyper-V Virtual IDE Controller (Emulated)(*)\*" "\Hyper-V Virtual Storage Device(*)\*" "\LogicalDisk(*)\*" "\Memory\*" "\Network Adapter(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Process(*)\*" "\Processor Information(*)\*" "\RDMA Activity(*)\*" "\ReFS(*)\*" "\SMB Client Shares(*)\*" "\SMB Direct Connection(*)\*" "\SMB Server\*" "\SMB Server Sessions(*)\*" "\SMB Server Shares(*)\*" "\Storage Spaces Drt(*)\*" "\Storage Spaces Virtual Disk(*)\*" "\Storage Spaces Write Cache(*)\*" "\System\*" -si 00:00:02)"+"$(logman start Full-Short)"}}
This creates perfmon counter on each node of the cluster and starts the perfmon logging. Once enough time has passed to experience the performance issue, stop the perfmon with the following command:
#Stop logmasn trace
(Get-ClusterNode).Name | % {Invoke-Command -ComputerName $_ -ScriptBlock {"$(logman stop Full-Short)"}}
When all the needed perfmon data is gathered, remove the perfmon counter with the following command:
#Remove logman trace
(Get-ClusterNode).Name | % {Invoke-Command -ComputerName $_ -ScriptBlock {"$(logman Delete Full-Short)"}}
If more log gathering is required:
wpr -start CPU -start FileIO -start GeneralProfile -start MiniFilter (For 10 seconds when issue is happening.)
wpr -stop C:\PerfLogs\Admin\wpr.etl
Videos
How to Collect Perfmon From All Nodes of a Cluster with PowerShell.
Duration: 00:03:24 (hh:mm:ss)
When available, closed caption (subtitles) language settings can be chosen using the CC icon on this video player.
Affected Products
Microsoft Windows Server 2016, Microsoft Windows Server 2019, Microsoft Windows Server 2022, Microsoft Windows 2008 Server R2, Microsoft Windows 2008 Server Service Pack 2, Microsoft Windows 2012 Server, Microsoft Windows 2012 Server R2Products
Microsoft Hyper-V™ Server 2008, Microsoft Windows Small Business Server 2008, Microsoft Windows Small Business Server 2011 Essentials, Microsoft Windows Small Business Server 2008, Microsoft Windows Essential Business Server 2008Article Properties
Article Number: 000193585
Article Type: How To
Last Modified: 05 Sept 2025
Version: 7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.