O que está acontecendo é que os carimbos de data / hora retornados do WMI são retornados como Strings;
$objItem.CreationDate.GetType().FullName
retorna System.String
como seu tipo.
É por isso que .ToString()
e outras variações de formatação de data estão falhando quando você tenta formatá-las como se fossem uma data.
Então, você precisa convertê-lo de um tipo String para o tipo DateTime, que pode ser convertido de volta em uma String (formatada) ...
Com cuidado, o próprio objeto WMI ( $objItem
em seu loop ForEach) fornece um método para converter os carimbos de data / hora da cadeia WMI em real e System.DateTime:
$objItem.ConvertToDateTime($objItem.CreationDate)
Você pode converter isso (voltar) para uma string formatada usando ToString. Por exemplo:
Write-host "Creation Date: " $objItem.ConvertToDateTime($objItem.CreationDate).ToString('MM\/dd\/yyyy')
Garanta que você escape de barras normais na string de formato de data ou do Windows não os incluirá na string retornada.