emeriks
Goto Top

PowerShell - Deklarierung von Eigenschaften eines PSObject mit festen Datentypen

Hi,
wenn ich in PowerShell einer Variable einen festen Datentyp zuweisen will, dann geht das z.B. so
[datetime]$c = [datetime]::MinValue
$c = "01.01.2000"  # --> wird in DateTime konvertiert 
$c = "abc"  # --> liefert Fehler --> so will ich es haben 

Wie kann ich gleiches bei den Eigenschaften eines PSObject erreichen?

Folgendes funktioniert nicht:
$c = New-Object PSObject -Property @{
  [datetime]Value = [datetime]::MinValue
}
Da meckert er das erste "[datetime]" an. VS Code meldet:
Operator "=" fehlt nach einem Schlüssel im Hashliteral.

Folgendes funktioniert teilweise:
$c = New-Object PSObject -Property @{
  Value = [datetime]::MinValue
}
Initial ist der Datentyp von $c.Value jetzt "DateTime".
Aber
$c.Value = "01.01.2000"   # --> das ändert den Datentyp der Eigenschaft "Value" auf "String"  
$c.Value = "abc"  # --> das nimmt er auch an --> Das will ich aber nicht. 

E.

Content-Key: 930390355

Url: https://administrator.de/contentid/930390355

Printed on: April 25, 2024 at 11:04 o'clock

Mitglied: 148934
Solution 148934 Jul 07, 2021 at 07:24:03 (UTC)
Goto Top
Erstelle eine Klasse und erzeuge eine Instanz davon
https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell. ...
Member: emeriks
emeriks Jul 07, 2021 updated at 07:35:11 (UTC)
Goto Top
@148934
Ja, danke. Exakt. Habe es gerade selbst gefunden. Danke trotzdem!

Class Test1 {
  [datetime]$Value = [datetime]::MinValue
}

[Test1]$c = New-Object Test1
$c.Value = "01.01.2000"   # --> konvertiert in DateTime  
$c.Value = "abc"  # liefert Fehler --> so will ich es haben