I am new to powershell and trying to decode the following line from a script

Get-WmiObject -class MSFC\_FCAdapterHBAAttributes -namespace “root\WMI” | ForEach-Object {(($*.NodeWWN) | ForEach-Object {“{0:x}” -f $*})}

The script is available at: <https://gallery.technet.microsoft.com/scriptcenter/Find-HBA-and-WWPN-53121140>

I am more interested in the "ForEach-Object {“{0:x}” -f $\_}"

what does "{0:x}" mean?

And what does the -f do to the current object $\_ ?

when I run the script on my Windows Server, I see that one of the NodeWWN entry:
NodeWWN : {32, 0, 0, 16...} is now converted to:
20:00:00:10:9B:17:9E:28

Would really appreciate it if the experts here could help me point out what is going on.