Что произойдет, если вы замените следующее:
$DateData1 = foreach ($member in $DateType1){$data = $member.name
Get-ADUser $Users -property $data | Select @{name=$data;e={[datetime]::FromFileTime($_."$data")}} | select -unique $list | out-string}
С:
$DateData1 = get-aduser $users -property $datetype1.name | select $datetype1.name
foreach ($prop in $DateType1.name) {
$DateData1.$prop = [datetime]::FromFileTime($DateData1.$prop)
}
Теперь $DateData1
будет содержать объект ADUser со всеми полями, преобразованными в желаемый формат даты и времени. Затем вы можете манипулировать вещами оттуда.
Чтобы извлечь содержимое $DateData1
в виде строки:
$DateData1 | Out-String
Чтобы получить значение свойства, переданного в оператор switch, как тип datetime:
switch ($item) {
{$Datetype1.name -contains $_}{$TextBox1.text = $DateData1.$_}}
Чтобы получить значение свойства, переданного в оператор switch, в виде строки:
switch ($item) {
{$Datetype1.name -contains $_}{$TextBox1.text = $DateData1.$_.ToString()}}
Чтобы получить имя и значение свойства в одной строке, вы можете использовать оператор форматирования (-f
) для форматирования внешнего вида вашего вывода. Вывод также является строкой:
switch ($item) {
{$Datetype1.name -contains $_}{$TextBox1.text = "{0}: {1}" -f $_,$DateData1.$_}}