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

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

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

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

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

iNNOKENTIY21



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

Код:
using namespace Microsoft.Win32

#region Classes

class Property {
   [string] $DisplayName
   [string] $Path
   [string] $Name
   [RegistryValueKind] $PropertyType
   [object] $Value

   [Property] GetCurrent() {
       $CurrentValue = $null

       try {
           $Param = @{
               Path        = $this.Path
               Name        = $this.Name
               ErrorAction = 'Stop'
           }

           $CurrentValue = Get-ItemPropertyValue @Param
       }
       catch [System.Management.Automation.ItemNotFoundException] {
           return [Property] @{
               DisplayName  = "Пути `"{0}`" не существует" -f $this.Path
               Path         = $null
               Name         = $null
               PropertyType = [RegistryValueKind]::None
               Value        = $null
           }
       }
       catch [System.Management.Automation.PSArgumentException] {
           return [Property] @{
               DisplayName  = "Свойства `"{0}`" не существует" -f $this.Name
               Path         = $this.Path
               Name         = $null
               PropertyType = [RegistryValueKind]::None
               Value        = $null
           }
       }

       return [Property] @{
           DisplayName  = "{0} - `"{1}`" = {2}" -f 'Текущее значение', $this.DisplayName, $CurrentValue
           Path         = $this.Path
           Name         = $this.Name
           PropertyType = $this.PropertyType
           Value        = $CurrentValue
       }
   }

   [string] ToString() {
       return "{0} ==> {1} : {2} = ({3}) {4}" -f (
           $this.DisplayName,
           $this.Path,
           $this.Name,
           $this.PropertyType,
           $this.Value
       )
   }
}

class Category {
   [string] $Name
   [Property[]] $Properties
}

#endregion Classes

#region Data

$Json = @"
{
   "Name":  "Приватность и телеметрия",
   "Properties":  [
                      {
                          "DisplayName":  "Установить уровень отправляемых диагностических сведений на \"Безопасность\"",
                          "Path":  "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\DataCollection",
                          "Name":  "AllowTelemetry",
                          "PropertyType":  4,
                          "Value":  0
                      },
                      {
                          "DisplayName":  "Отключить отчеты об ошибках Windows",
                          "Path":  "HKCU:\\Software\\Microsoft\\Windows\\Windows Error Reporting",
                          "Name":  "Disabled",
                          "PropertyType":  4,
                          "Value":  1
                      },
                      {
                          "DisplayName":  "Изменить частоту формирования отзывов на \"Никогда\"",
                          "Path":  "HKCU:\\Software\\Microsoft\\Siuf\\Rules",
                          "Name":  "NumberOfSIUFInPeriod",
                          "PropertyType":  4,
                          "Value":  0
                      },
                      {
                          "DisplayName":  "Не разрешать приложениям на других устройствах запускать приложения и отправлять сообщения на этом устройстве и наоборот",
                          "Path":  "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\CDP",
                          "Name":  "RomeSdkChannelUserAuthzPolicy",
                          "PropertyType":  4,
                          "Value":  0
                      },
                      {
                          "DisplayName":  "Не показывать рекомендуемое содержимое в приложении \"Параметры\" Content-338393",
                          "Path":  "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\ContentDeliveryManager",
                          "Name":  "SubscribedContent-338393Enabled",
                          "PropertyType":  4,
                          "Value":  0
                      },
                      {
                          "DisplayName":  "Не показывать рекомендуемое содержимое в приложении \"Параметры\" Content-353694",
                          "Path":  "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\ContentDeliveryManager",
                          "Name":  "SubscribedContent-353694Enabled",
                          "PropertyType":  4,
                          "Value":  0
                      },
                      {
                          "DisplayName":  "Не показывать рекомендуемое содержимое в приложении \"Параметры\" Content-353696",
                          "Path":  "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\ContentDeliveryManager",
                          "Name":  "SubscribedContent-353696Enabled",
                          "PropertyType":  4,
                          "Value":  0
                      }
                  ]
}
"@

#endregion Data

$Categories = [Category[]] ($Json | ConvertFrom-Json)

$Categories.Properties.GetCurrent()


Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 10:53 20-07-2020 | Исправлено: iNNOKENTIY21, 11:16 20-07-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