Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
using assembly  System.ServiceProcess
using namespace System.ServiceProcess
 
enum Фрукты {
    Яблоко
    Апельсин
    Банан
    Персик
}
 
class отбалды {
    [ServiceStartMode]$a = [ServiceStartMode]::Automatic
    [Фрукты]$b
}
 
[отбалды[]]$белиберда = @(
    @{a = [ServiceStartMode]::Automatic; b = [Фрукты]::Яблоко},
    @{a = [ServiceStartMode]::Manual; b = [Фрукты]::Апельсин}
)
 
Filter ConvertTo-EnumsAsStrings ([int] $Depth = 2, [int] $CurrDepth = 0) {
  if ($_ -is [enum]) { # enum value -> convert to symbolic name as string
    $_.ToString()  
  } elseif ($null -eq $_ -or $_.GetType().IsPrimitive -or $_ -is [string] -or $_ -is [decimal] -or $_ -is [datetime] -or $_ -is [datetimeoffset]) {
    $_
  } elseif ($_ -is [Collections.IEnumerable]) {
    , ($_ | ConvertTo-EnumsAsStrings -Depth $Depth -CurrDepth ($CurrDepth+1))
  } else { # non-primitive type -> recurse on properties
    if ($CurrDepth -gt $Depth) { # depth exceeded -> return .ToString() representation
      "$_"
    } else {
      $oht = [ordered] @{}
      foreach ($prop in $_.psobject.properties) {
        if ($prop.Value -is [Collections.IEnumerable] -and -not $prop.Value -is [string]) {
          $oht[$prop.Name] = @($prop.Value | ConvertTo-EnumsAsStrings -Depth $Depth -CurrDepth ($CurrDepth+1))
        } else {      
          $oht[$prop.Name] = $prop.Value | ConvertTo-EnumsAsStrings -Depth $Depth -CurrDepth ($CurrDepth+1)
        }
      }
      $oht
    }
  }
}
 
Clear-Host
 
$белиберда
"`n`n`tковертируем в json:`n`n"
$белиберда | ConvertTo-EnumsAsStrings | ConvertTo-Json

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 16:15 16-06-2020
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru