Powershell - The differences between .count and .length properties
To support me, you can subscribe to the channel, share and like the videos, disable your ad blocker, purchase my 3D plans, or make a donation or subscribe on Ko-Fi. Thank you!
Hello,
A question I get from time to time in training: What is the difference between .count and .length properties? Well, I admit having a lot to explain in a non-extendable time lapse often my answer is for lack of time : “They can give in some cases the same result but they are different”.
Here I take the time to elaborate a bit more!
# Let's take this two variables for the demonstration $Objects = Get-Service $Objects = Get-Item C:\WindowsUpdate.log $String = 'Titi # Let's display the result with the .Length and .Count properties for the 1st variable and the object type $Objects.Length # Result: 326 $Objects.count # Result: 326 $Objects.GetType() # Result: Object[]The result is the same
# Let's display the result with the .Length and .Count properties for the 2nd variable and the object type$Object.Length# Result: 276$Object.count# Result: 1$Object.GetType()# Result: FileInfo
# Display the result with the .Length and .Count properties for the 3rd variable and the object type$String.Length# Result: 4$String.count# Result: 1$String.GetType()# Result: StringWe can see that .count always displays the number of objects
For the .length property, the result depends on the type of the object:
- Number of characters for a String type object
- Number of objects for an array
- Size for an object of type ‘File’
- …
If you want length to also display the number of objects, make sure you return a collection
$Object.Length# Result: 276$Object.count# Result: 1$String.Length# Result : 4$String.count# Result : 1
@($Object).Length# Result: 1@($Object).count# Result: 1@($String).Length# Result : 1@($String).count# Result : 1Related links
Powershell - Simply send objects to different variables
Powershell - Tip - Simply send objects to different variablesPowershell - Testing network connectivity and port accessibility
Testing network connectivity and port accessibility with PowershellPowershell - Display network connections (equivalent to netstat)
Display network connections (listening ports, active connections...)Powershell - Testing name resolution (equivalent to nslookup)
Powershell commands to test name resolution (equivalent to nslookup)Powershell - View and manage DNS configuration of network interfaces
Powershell commands to display and manage DNS configuration of network interfacesPowershell - Managing IP configuration of network interfaces
Powershell commands to view and modify the IP configuration of network interfaces
Follow me on
Support me
E-shop
Last content
Powershell - Simply send objects to different variables
Portsmouth Vintage Travel poster - hueforge
Andalucia vintage poster - hueforge
Paris Travel poster - hueforge