Operation api как включить windows 10

Относительно недавно в последнюю версию ОС Windows интегрировали «режим разработчика». Его активация добавляет в ОС отдельную среду для написания и отладки

Содержание

  1. Включаем режим разработчика в Windows 10
  2. Методы активации режима разработчика
  3. Способ 1: «Параметры» ОС
  4. Способ 2: «Редактор локальной политики»
  5. Способ 3: Изменение ключей реестра
  6. Способ 4: «Командная строка»
  7. Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности
  8. Основные возможности
  9. Оболочка и среда разработки
  10. Командлеты
  11. Сценарии, функции, модули и язык PowerShell
  12. Конвейеры
  13. Запуск задач в фоновом режиме
  14. Удаленное выполнение команд
  15. Версии PowerShell
  16. Итоги
  17. Вызов API для среды выполнения Windows в классических приложениях
  18. .NET 5 и более поздних версий: использование моникера целевой платформы
  19. Поддержка нескольких версий ОС Windows
  20. Настройка проекта классических приложений C++ (Win32) для использования API среды выполнения Windows
  21. Добавление возможностей Windows 10
  22. Поддержка установочных баз Windows XP, Windows Vista, Windows 7 и Windows 8
  23. Условная компиляция
  24. Проверки во время выполнения
  25. Связанные примеры
  26. Получение ответов на вопросы
  27. Enable-MMAgent
  28. Syntax
  29. Description
  30. Examples
  31. Example 1: Enable application launch prefetching
  32. Parameters

Включаем режим разработчика в Windows 10

kak vklyuchit rezhim razrabotchika v windows 10

Относительно недавно в последнюю версию ОС Windows интегрировали «режим разработчика». Его активация добавляет в ОС отдельную среду для написания и отладки программного кода. Из данной статьи вы узнаете о том, как задействовать упомянутый режим в Windows 10.

Методы активации режима разработчика

После активации режима вы сможете инсталлировать на компьютер любое ПО (даже не имеющее подписи Microsoft), локально запускать сценарии PowerShell и пользоваться оболочкой разработки Bash. Это лишь малая часть всех возможностей. Теперь поговорим о самих методах активации. Всего можно выделить 4 способа, позволяющих правильно задействовать режим разработчика.

Способ 1: «Параметры» ОС

Начнем с самого легкодоступного и очевидного метода. Для его реализации мы будем использовать окно основных параметров Виндовс 10. Выполните следующие действия:

otkrytie razdela obnovlenie i bezopasnost iz okna parametrov windows 10

perehod v razdel dlya razrabotchikov cherez okno nastroek v windows 10

uvedomlenie pri vklyuchenii rezhima razrabotchika v windows 10

proczess ustanovki dopolnitelnyh paketov posle vklyucheniya rezhima razrabotchika v windows 10

Способ 2: «Редактор локальной политики»

Сразу отметим, что данный метод не подойдет пользователям, которые используют Windows 10 Home. Дело в том, что в этой редакции попросту отсутствует нужная утилита. Если вы в их числе, просто используйте другой способ.

zapusk redaktora lokalnoj gruppovoj politiki cherez okno vypolnit v windows 10

Конфигурация компьютера / Административные шаблоны / Компоненты Windows / Развертывание пакета приложений

В указанной папке найдите файл, отмеченный на скриншоте ниже. Откройте его двойным нажатием ЛКМ.

otkrytie fajla razvertyvanie paketa prilozhenij v redaktore lokalnoj politiki windows 10

vklyuchenie rezhima razrabotchika v windows 10 cherez fajl razvertyvanie paketa prilozhenij

izmenenie parametrov fajla razreshit ustanovku vseh doverennyh prilozhenij v windows 10

Способ 3: Изменение ключей реестра

Для правильного запуска режима разработчика посредством «Редактора реестра» выполните следующий ряд действий:

zapusk redaktora reestra v os windows 10 cherez utilitu vypolnit

HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows CurrentVersion AppModelUnlock

В каталоге «AppModelUnlock», с правой стороны, должны находиться следующие ключи:

Откройте их поочередно и измените значение каждой на цифру «1». Закройте все открытые окна, предварительно применив внесенные изменения.

modifikacziya fajlov v papke appmodelunlock reestra windows 10

sozdanie novogo klyucha dword 32 bita v reestre windows 10

Способ 4: «Командная строка»

Этот метод, по сути, выполняет те же самые действия, что и предыдущий, вот только все манипуляции укладываются в одну строчку. Выглядит процесс следующим образом:

zapusk komandnoj stroki v windows 10 ot imeni administratora cherez poiska

reg add «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionAppModelUnlock» /t REG_DWORD /f /v «AllowAllTrustedApps» /d «1»

vypolnenie pervoj komandy v windows 10 dlya vklyucheniya rezhima razrabotchika

reg add «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionAppModelUnlock» /t REG_DWORD /f /v «AllowDevelopmentWithoutDevLicense» /d «1»

Снова используйте «Enter» для начала обработки пакета.

vypolnenie vtoroj komandy v windows 10 dlya vklyucheniya rezhima razrabotchika

Вы узнали из текущей статьи о методах, позволяющих задействовать режим разработчика в Windows 10. Обратим внимание на тот факт, что во время его активации иногда появляются ошибки. Причина этого зачастую кроется в работе специальных утилит для деактивации встроенной телеметрии Microsoft. Если вы использовали ПО, о котором мы писали в статье по ссылке ниже, откатите изменения и попытайтесь включить режим разработки снова.

Помимо этой статьи, на сайте еще 12380 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Что такое Windows PowerShell и с чем его едят? Часть 1: основные возможности

Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

Windows PowerShell позволяет системным администраторам автоматизировать большинство рутинных задач. С ее помощью можно менять настройки, останавливать и запускать сервисы, а также производить обслуживание большинства установленных приложений. Воспринимать синее окошко как еще один интерпретатор команд было бы неправильно. Такой подход не отражает сути предложенных корпорацией Microsoft инноваций. На самом деле возможности Windows PowerShell гораздо шире: в небольшом цикле статей мы попробуем разобраться, чем решение Microsoft отличается от более привычных нам средств.

image loader

Основные возможности

Windows PowerShell позволяет:

Оболочка и среда разработки

Существует Windows PowerShell в двух ипостасях: помимо эмулятора консоли с командной оболочкой есть интегрированная среда сценариев (Integrated Scripting Environment — ISE). Чтобы получить доступ к интерфейсу командной строки достаточно выбрать соответствующий ярлык в меню Windows или запустить powershell.exe из меню «Выполнить». На экране появится синее окошко, заметно отличающееся по возможностям от допотопного cmd.exe. Там есть автодополнение и другие фишки, привычные пользователям командных оболочек для Unix-систем.

image loader

Для работы с оболочкой нужно запомнить некоторые сочетания клавиш:

image loader

Windows PowerShell ISE является полноценной средой разработки с поддерживающим вкладки и подсветку синтаксиса редактором кода, конструктором команд, встроенным отладчиком и другими программистскими радостями. Если в редакторе среды разработки после имени команды написать знак дефис, вы получите в выпадающем списке все доступные параметры с указанием типа. Запустить PowerShell ISE можно либо через ярлык из системного меню, либо с помощью исполняемого файла powershell_ise.exe.

image loader

Командлеты

Помимо Get в командлетах для обозначения действий используются и другие глаголы (и не только глаголы, строго говоря). В списке ниже мы приведем несколько примеров:

Add — добавить;
Clear — очистить;
Enable — включить;
Disable — выключить;
New — создать;
Remove — удалить;
Set — задать;
Start — запустить;
Stop — остановить;
Export — экспортировать;
Import — импортировать.

Есть системные, пользовательские и опциональные командлеты: в результате выполнения все они возвращают объект или массив объектов. К регистру они не чувствительны, т.е. с точки зрения интерпретатора команд нет разницы между Get-Help и get-help. Для разделения используется символ ‘;’, но ставить его обязательно только если в одной строке выполняется несколько командлетов.

Командлеты Windows PowerShell группируются в модули (NetTCPIP, Hyper-V и т.д.), а для поиска по объекту и действию существует командлет Get-Command. Показать справку по нему можно так:

image loader

Справка в Windows PowerShell обновляется командлетом Update-Help. Если строка команд получается слишком длинной, аргументы командлета можно перенести на следующую, написав служебный символ ‘`’ и нажав Enter — просто закончить писать команду на одной строке и продолжить на другой не получится.

Ниже приведем несколько примеров распространенных командлетов:

Get-Process — показать запущенные в системе процессы;
Get-Service — показать службы и их статус;
Get-Content — вывести содержимое файла.

Для часто используемых командлетов и внешних утилит в Windows PowerShell есть короткие синонимы — алиасы (от англ. Alias). Например, dir — алиас Get-ChildItem. Есть в списке синонимов и аналоги команд из Unix-систем (ls, ps и т.д.), а командлет Get-Help вызывается командой help. Полный список синонимов можно посмотреть с помощью командлета Get-Alias:

image loader

Сценарии, функции, модули и язык PowerShell

Restricted — запуск сценариев запрещен (по умолчанию);
AllSigned — разрешен только запуск подписанных доверенным разработчиком сценариев;
RemoteSigned — разрешен запуск подписанных и собственных сценариев;
Unrestricted — разрешен запуск любых сценариев.

У администратора есть два варианта действий. Наиболее безопасный предполагает подписание скриптов, но это довольно серьезное колдунство — мы будем разбираться с ним в следующих статьях. Сейчас пойдем по пути наименьшего сопротивления и поменяем политику:

image loader

PowerShell для этого придется запустить от имени администратора, хотя с помощью специального параметра можно изменить политику и для текущего пользователя.

Пишутся скрипты на объектно-ориентированном языке программирования, команды которого именуются по тому же принципу, что и рассмотренные ранее командлеты: «Действие-Объект» («Глагол-Существительное»). Основное его предназначение — автоматизация задач администрирования, но это полноценный интерпретируемый язык, в котором есть все необходимые конструкции: условный переход, циклы, переменные, массивы, объекты, обработка ошибок и т.д. Для написания сценариев годится любой текстовый редактор, но удобнее всего запустить Windows PowerShell ISE.

Конвейеры

В последнем примере мы применили знакомую пользователям оболочек для Unix-систем конструкцию. В Windows PowerShell вертикальная черта также позволяет передать выход одной команды на вход другой, но в реализации конвейера есть и существенная разница: речь здесь идет уже не о наборе символов или каком-то тексте. Встроенные командлеты или пользовательские функции возвращают объекты или массивы объектов, а также могут получать их на входе. Как в Bourne shell и его многочисленных последователях, в PowerShell с помощью конвейера упрощается выполнение сложных задач.

Простейший пример конвейера выглядит так:

image loader

Сначала выполняется командлет Get-Service, а потом все полученные им службы передаются на сортировку по свойству Status командлету Sort-Object. В какой именно аргумент передается результат работы предыдущего участка конвейера, зависит от его типа — обычно это InputObject. Подробнее этот вопрос будет рассматриваться в посвященной языку программирования PowerShell статье.

При желании цепочку можно продолжить и передать результат работы Sort-Object еще одному командлету (выполняться они будут слева направо). Кстати, пользователям Windows доступна и привычная всем юниксоидам конструкция для постраничного вывода:

Запуск задач в фоновом режиме

Довольно часто бывает нужно запустить некую команду в фоне, чтобы не дожидаться результата ее выполнения в сессии оболочки. В Windows PowerShell есть несколько командлетов на такой случай:

Start-Job — запуск фоновой задачи;
Stop-Job — остановка фоновой задачи;
Get-Job — просмотр списка фоновых задач;
Receive-Job — просмотр результата выполнения фоновой задачи;
Remove-Job — удаление фоновой задачи;
Wait-Job — перевод фоновой задачи обратно в консоль.

Для запуска фоновой задачи мы используем командлет Start-Job и в фигурных скобках указываем команду или набор команд:

image loader

Фоновыми задачами в Windows PowerShell можно манипулировать, зная их имена. Для начала научимся их отображать:

image loader

Теперь покажем результат работы задания Job1:

image loader

Всё довольно просто.

Удаленное выполнение команд

Windows PowerShell позволяет выполнять команды и сценарии не только на локальном, но и на удаленном компьютере и даже на целой группе машин. Для этого существует несколько способов:

Версии PowerShell

image loader

Также можно воспользоваться командлетом:

image loader

То же самое делается и с помощью командлета Get-Host. На самом деле вариантов множество, но для их применения нужно изучить язык программирования PowerShell, чем мы и займемся в следующей статье.

Итоги

Источник

Вызов API для среды выполнения Windows в классических приложениях

В этой статье описывается, как настроить в проектах классических приложений использование API-интерфейсов среды выполнения Windows (WinRT), предоставляемых в ОС Windows, и добавить в классические приложения современные возможности Windows 11 и Windows 10.

Некоторые API WinRT не поддерживаются в классических приложениях. Дополнительные сведения см. в статье API среды выполнения Windows не поддерживаются в классических приложениях.

.NET 5 и более поздних версий: использование моникера целевой платформы

В Visual Studio щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Изменить файл проекта. Файл проекта должен выглядеть примерно так.

Замените значение элемента TargetFramework одной из следующих строк:

Например, следующий элемент используется для проекта, предназначенного для Windows 10 версии 2004.

Сохраните изменения и закройте файл проекта.

Поддержка нескольких версий ОС Windows

Свойство TargetFramework для конкретной версии ОС Windows определяет версию пакета Windows SDK, с которым компилируется приложение. Это свойство определяет набор доступных API-интерфейсов во время сборки и предоставляет значения по умолчанию для TargetPlatformVersion и TargetPlatformMinVersion (если они не заданы явно). Свойство TargetPlatformVersion не нужно явно определять в файле проекта, так как оно автоматически задается версией ОС TargetFramework.

Значение TargetPlatformMinVersion можно переопределить, чтобы оно было меньше значения TargetPlatformVersion (определяется версией в свойстве TargetFramework). Благодаря этому приложение сможет работать в более ранних версиях ОС. Например, в файле проекта можно задать приведенные ниже значения, чтобы обеспечить для приложения поддержку Windows 10 версии 1809.

Обратите внимание, что при установке в качестве значения TargetPlatformMinVersion версии ниже, чем значение TargetPlatformVersion, есть вероятность того, что будут вызваны недоступные API-интерфейсы. При вызове API-интерфейсов WinRT, которые доступны не во всех поддерживаемых версиях ОС, рекомендуется защищать эти вызовы с помощью проверок ApiInformation. Дополнительные сведения см. в статье Приложения с адаптивным к версии кодом.

Убедитесь, что ссылки на пакеты активны:

В Visual Studio щелкните правой кнопкой мыши проект в обозревателе решений и выберите элемент Управление пакетами NuGet.

Когда пакет Microsoft.Windows.SDK.Contracts будет найден, выберите на правой панели диспетчера пакетов NuGet нужную версию пакета в зависимости от версии Windows 10, на которую нужно ориентировать приложение:

Нажмите кнопку Установить.

По завершении файл проекта должен выглядеть примерно так.

Сохраните изменения и закройте файл проекта.

Настройка проекта классических приложений C++ (Win32) для использования API среды выполнения Windows

Воспользоваться API-интерфейсами WinRT позволяет библиотека C++/WinRT. C++/WinRT — это полностью стандартная современная проекция языка C++17 для API-интерфейсов WinRT, реализованная как библиотека на основе файлов заголовков и предназначенная для предоставления первоклассного доступа к современным API Windows.

Чтобы настроить C++/WinRT для проекта, сделайте следующее:

Добавление возможностей Windows 10

Теперь все готово для добавления современных видов взаимодействия, которые активируются, когда пользователь запускает ваше приложение в Windows 10. Используйте этот процесс разработки.

Сначала определите, какие возможности нужно добавить

Выбор огромен. Например, можно упростить оформление покупки с помощью API монетизации либо привлечь внимание к приложению, когда вы можете предложить что-либо интересное, например новую фотографию, добавленную другим пользователем.

toast

Даже если пользователи не обращают внимания на ваше сообщение или закрывают его, они могут снова увидеть его в центре уведомлений, а затем щелкнуть сообщение, чтобы открыть приложение. Это позволяет увеличить объем взаимодействия с приложением и обеспечивает дополнительное преимущество в виде тесной интеграции вашего приложения с операционной системой. Мы предложим код для реализации этой возможности чуть позже в этой статье.

Дополнительные сведения см. в документации по UWP.

Выберите путь улучшения: дополнить или расширить

Вам часто будут встречаться термины дополнить и расширить, поэтому сейчас мы поясним, какой именно смысл вкладываем в них.

Термин дополнить относится к API-интерфейсам WinRT, которые вы можете вызывать напрямую из классического приложения (независимо от того, применяете ли вы для приложения упаковку в пакет MSIX). При выборе новой возможности Windows 10 определите API-интерфейсы, которые вам необходимы для ее реализации, а затем проверьте, входит ли нужный API в этот список. Это список API-интерфейсов, которые можно вызывать непосредственно из классического приложения. Если выбранный API не входит в этот список, значит, связанные с этим API функции могут работать только в рамках процесса UWP. Сюда часто входят API-интерфейсы, которые отображают элементы XAML UWP, например элемент управления картой UWP или запрос безопасности Windows Hello.

API, которые отображают XAML UWP, обычно нельзя напрямую вызывать из классического приложений. Но иногда для них доступны альтернативные подходы. Если вы хотите разместить элементы управления XAML UWP или другие пользовательские визуальные объекты, попробуйте применить XAML Islands (доступны в Windows 10 с версии 1903) и (или) визуальный уровень (доступен в Windows 10 с версии 1803). Эти возможности можно использовать в упакованных и неупакованных классических приложениях.

Если вы решили упаковать классическое приложение в пакет MSIX, у вас есть возможность расширить это приложение, добавив к нему проект UWP. Проект классического приложения по-прежнему остается точкой входа для вашего приложения. Но проект UWP предоставляет доступ ко всем API-интерфейсам, которые не входят в этот список. Классические приложения могут взаимодействовать с процессами UWP с помощью службы приложений. У нас есть множество рекомендаций по настройке этой функции. Если вы хотите добавить возможность, для которой требуется проект UWP, см. раздел Расширение возможностей с помощью компонентов UWP.

Добавьте ссылки на контракты API

Если вы можете вызывать API непосредственно из классического приложения, откройте браузер и найдите справочный раздел для этого API-интерфейса. Под общей информацией об API там представлена таблица с описанием контракта для этого API. Пример такой таблицы приведен ниже.

contract table

Вызовите API-интерфейсы для добавления возможности

Ниже приведен код для отображения окна уведомлений, которое мы уже видели ранее. Эти API-интерфейсы внесены в этот список, а значит, вы можете добавить этот код в классическое приложение и запустить его прямо сейчас.

Поддержка установочных баз Windows XP, Windows Vista, Windows 7 и Windows 8

Вы можете модернизировать приложение для Windows 10, не создавая новую ветвь и не поддерживая раздельные базы кода.

Если вы хотите создать отдельные двоичные файлы для пользователей Windows 10, используйте условную компиляцию. Если вы предпочитаете создать один набор двоичных файлов, которые развертываются для всех пользователей Windows, используйте проверки во время выполнения.

Давайте вкратце рассмотрим эти варианты.

Условная компиляция

Можно вести одну базу кода и компилировать набор двоичных файлов только для пользователей Windows 10.

Для этого добавьте новую конфигурацию сборки в проект.

build config

Создайте константу для этой конфигурации сборки, чтобы определить код, который будет вызывать API-интерфейсы WinRT.

compilation constants

Для проектов на основе C++ эта константа называется описанием препроцессора.

pre processor

Добавьте эту константу до всех блоков кода UWP.

Компилятор выполнит сборку этого кода, только если соответствующая константа определена в активной конфигурации сборки.

Проверки во время выполнения

Можно скомпилировать один набор двоичных файлов для всех пользователей Windows независимо от того, какую версию Windows они используют. В этом случае приложение будет обращаться к API-интерфейсам WinRT, только если пользователь выполняет его как упакованное приложение в среде Windows 10.

Для добавления в код проверок во время выполнения проще всего установить пакет NuGet Desktop Bridge Helpers (Вспомогательные элементы моста для классических приложений), а затем использовать метод IsRunningAsUWP() для отсеивания всего кода, который вызывает API-интерфейсы WinRT. Дополнительные сведения см. в записи блога Мост для классических приложений — определение контекста приложения.

Связанные примеры

Получение ответов на вопросы

Есть вопросы? Задайте их на Stack Overflow. Наша команда следит за этими тегами. Вы также можете задать нам вопросы здесь.

Источник

Enable-MMAgent

Enables application launch prefetching, operation recorder API functionality, page combining, and application prelaunch.

Syntax

Description

The Enable-MMAgent cmdlet enables any or all of the following features:

Specify the ApplicationLaunchPrefetching parameter to help improve application startup performance. Application launch prefetching causes the memory manager agent to monitor the data and code that applications access. The memory management agent then uses that information to preload the data and code into physical memory for subsequent startups.

Specify the ApplicationPreLaunch parameter to help improve application startup performance. Application prelaunch can speculatively launch applications that the user is likely to use in the near future, thus reducing application switch time.

Specify the OperationAPI parameter to help speed up operations that repeatedly access the same file data. Enabling this feature exposes the Windows prefetching mechanism as a public interface.

Specify the PageCombining parameter to help reduce the physical memory that the operating system uses. Page combining causes the memory manager to periodically combine pages in physical memory that have identical content.

Examples

Example 1: Enable application launch prefetching

This command enables application launch prefetching on the local computer.

Parameters

Indicates that the cmdlet enables application launch prefetching.

If you do not specify this parameter, application launch prefetching remains in its current state, either enabled or disabled.

Type: SwitchParameter
Aliases: alp
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

Indicates that the cmdlet enables application prelaunch.

If you do not specify this parameter, application prelaunch remains in its current state, either enabled or disabled.

Type: SwitchParameter
Aliases: apl
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet.

For more information about Windows PowerShell background jobs, see about_Jobs.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type: CimSession [ ]
Aliases: Session
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Indicates that this cmdlet uses memory compression.

Type: SwitchParameter
Aliases: mc
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

Indicates that the cmdlet enables operation recorder API functionality.

If you do not specify this parameter, operation recorder API functionality remains in its current state, either enabled or disabled.

For more information about the Operation Recorder API, seeOperation Recorder on MSDN.

Type: SwitchParameter
Aliases: oa
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

Indicates that the cmdlet enables page combining.

If you do not specify this parameter, page combining remains in its current state, either enabled or disabled.

Type: SwitchParameter
Aliases: pc
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Источник

Обновлено: 03.02.2023

В этой статье описывается, как настроить в проектах классических приложений использование API-интерфейсов среды выполнения Windows (WinRT), предоставляемых в ОС Windows, и добавить в классические приложения современные возможности Windows 11 и Windows 10.

Некоторые API среды выполнения Windows (WinRT) не поддерживаются в классических приложениях. Дополнительные сведения см. в статье API среды выполнения Windows не поддерживаются в классических приложениях.

В Visual Studio щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Изменить файл проекта. Файл проекта будет выглядеть примерно так.

В приведенном ниже примере показан параметр OutputType средства WinExe, который указывает на исполняемый файл графического пользовательского интерфейса Windows (и не позволяет открыть окно консоли при запуске приложения). Если в вашем приложении нет графического пользовательского интерфейса, значение OutputType будет другим. API-интерфейсы WinRT можно вызывать из приложений с графическим пользовательским интерфейсом, консольных приложений и библиотек для Windows. Кроме того, значение TargetFramework может не совпадать с примером ниже.

Замените значение элемента TargetFramework одной из указанных ниже строк, оставив все остальные значения без изменений.

  • net5.0-windows10.0.17763.0 — если приложение предназначено для Windows 10, версия 1809.
  • net5.0-windows10.0.18362.0 — если приложение предназначено для Windows 10, версия 1903.
  • net5.0-windows10.0.19041.0 — если приложение предназначено для Windows 10, версия 2004.
  • net5.0-windows10.0.22000.0 — если приложение предназначено для Windows 11.

Например, следующий элемент используется для проекта, предназначенного для Windows 10 версии 2004.

Сохраните изменения и закройте файл проекта.

Поддержка нескольких версий ОС Windows

Свойство TargetFramework для конкретной версии ОС Windows определяет версию пакета Windows SDK, с которым компилируется приложение. Это свойство определяет набор доступных API-интерфейсов во время сборки и предоставляет значения по умолчанию для TargetPlatformVersion и TargetPlatformMinVersion (если они не заданы явно). Свойство TargetPlatformVersion не нужно явно определять в файле проекта, так как оно автоматически задается версией ОС TargetFramework.

Значение TargetPlatformMinVersion можно переопределить, чтобы оно было меньше значения TargetPlatformVersion (определяется версией в свойстве TargetFramework). Благодаря этому приложение сможет работать в более ранних версиях ОС. Например, в файле проекта можно задать приведенные ниже значения, чтобы обеспечить для приложения поддержку Windows 10 версии 1809.

Обратите внимание, что при установке в качестве значения TargetPlatformMinVersion версии ниже, чем значение TargetPlatformVersion, есть вероятность того, что будут вызваны недоступные API-интерфейсы. При вызове API-интерфейсов WinRT, которые доступны не во всех поддерживаемых версиях ОС, рекомендуется защищать эти вызовы с помощью проверок ApiInformation. Дополнительные сведения см. в статье Приложения с адаптивным к версии кодом.

Убедитесь, что ссылки на пакеты активны:

  1. В Visual Studio выберите элементы Сервис -> Диспетчер пакетов NuGet -> Параметры диспетчера пакетов.
  2. Убедитесь, что для формата управления пакетами по умолчанию установлено значение PackageReference.

В Visual Studio щелкните правой кнопкой мыши проект в обозревателе решений и выберите элемент Управление пакетами NuGet.

В окне диспетчера пакетов NuGet выберите вкладку Обзор и найдите Microsoft.Windows.SDK.Contracts .

Когда пакет Microsoft.Windows.SDK.Contracts будет найден, выберите на правой панели диспетчера пакетов NuGet нужную версию пакета в зависимости от версии Windows 10, на которую нужно ориентировать приложение:

  • 10.0.19041.xxxx — вариант для Windows 10 версии 2004;
  • 10.0.18362.xxxx — вариант для Windows 10 версии 1903;
  • 10.0.17763.xxxx — вариант для Windows 10 версии 1809;
  • 10.0.17134.xxxx — вариант для Windows 10 версии 1803.

В приведенном ниже примере показан параметр OutputType средства WinExe, который указывает на исполняемый файл графического пользовательского интерфейса Windows (и не позволяет открыть окно консоли при запуске приложения). Если в вашем приложении нет графического пользовательского интерфейса, значение OutputType будет другим. API-интерфейсы WinRT можно вызывать из приложений с графическим пользовательским интерфейсом, консольных приложений и библиотек для Windows. Кроме того, значение TargetFramework может не совпадать с примером ниже.

По завершении файл проекта должен выглядеть примерно так.

Сохраните изменения и закройте файл проекта.

Настройка проекта классических приложений C++ (Win32) для использования API среды выполнения Windows

Воспользоваться API-интерфейсами WinRT позволяет библиотека C++/WinRT. C++/WinRT — это полностью стандартная современная проекция языка C++17 для API-интерфейсов WinRT, реализованная как библиотека на основе файлов заголовков и предназначенная для предоставления первоклассного доступа к современным API Windows.

Чтобы настроить C++/WinRT для проекта, сделайте следующее:

  • Для новых проектов можно установить расширение C++/WinRT Visual Studio (VSIX) и использовать один из шаблонов проектов C++/WinRT, входящих в это расширение.
  • Для существующих проектов можно установить в проект пакет NuGet Microsoft.Windows.CppWinRT.

Дополнительные сведения об этих вариантах см. в разделе Поддержка Visual Studio для C++/WinRT и VSIX .

Добавление возможностей Windows 10

Теперь все готово для добавления современных видов взаимодействия, которые активируются, когда пользователь запускает ваше приложение в Windows 10. Используйте этот процесс разработки.

✅ Сначала определите, какие возможности нужно добавить

Выбор огромен. Например, можно упростить оформление покупки с помощью API монетизации либо привлечь внимание к приложению, когда вы можете предложить что-либо интересное, например новую фотографию, добавленную другим пользователем.

Всплывающее уведомление

Дополнительные сведения см. в документации по UWP.

✅ Выберите путь улучшения: дополнить или расширить

Вам часто будут встречаться термины дополнить и расширить, поэтому сейчас мы поясним, какой именно смысл вкладываем в них.

Термин дополнить относится к API-интерфейсам WinRT, которые вы можете вызывать напрямую из классического приложения (независимо от того, применяете ли вы для приложения упаковку в пакет MSIX). При выборе новой возможности Windows 10 определите API-интерфейсы, которые вам необходимы для ее реализации, а затем проверьте, входит ли нужный API в этот список. Это список API-интерфейсов, которые можно вызывать непосредственно из классического приложения. Если выбранный API не входит в этот список, значит, связанные с этим API функции могут работать только в рамках процесса UWP. Сюда часто входят API-интерфейсы, которые отображают элементы XAML UWP, например элемент управления картой UWP или запрос безопасности Windows Hello.

API, которые отображают XAML UWP, обычно нельзя напрямую вызывать из классического приложений. Но иногда для них доступны альтернативные подходы. Если вы хотите разместить элементы управления XAML UWP или другие пользовательские визуальные объекты, попробуйте применить XAML Islands (доступны в Windows 10 с версии 1903) и (или) визуальный уровень (доступен в Windows 10 с версии 1803). Эти возможности можно использовать в упакованных и неупакованных классических приложениях.

Если вы решили упаковать классическое приложение в пакет MSIX, у вас есть возможность расширить это приложение, добавив к нему проект UWP. Проект классического приложения по-прежнему остается точкой входа для вашего приложения. Но проект UWP предоставляет доступ ко всем API-интерфейсам, которые не входят в этот список. Классические приложения могут взаимодействовать с процессами UWP с помощью службы приложений. У нас есть множество рекомендаций по настройке этой функции. Если вы хотите добавить возможность, для которой требуется проект UWP, см. раздел Расширение возможностей с помощью компонентов UWP.

✅ Добавьте ссылки на контракты API

Если вы можете вызывать API непосредственно из классического приложения, откройте браузер и найдите справочный раздел для этого API-интерфейса. Под общей информацией об API там представлена таблица с описанием контракта для этого API. Пример такой таблицы приведен ниже.

Таблица контракта API

✅ Вызовите API-интерфейсы для добавления возможности

Ниже приведен код для отображения окна уведомлений, которое мы уже видели ранее. Эти API-интерфейсы внесены в этот список, а значит, вы можете добавить этот код в классическое приложение и запустить его прямо сейчас.

Поддержка установочных баз Windows XP, Windows Vista, Windows 7 и Windows 8

Вы можете модернизировать приложение для Windows 10, не создавая новую ветвь и не поддерживая раздельные базы кода.

Если вы хотите создать отдельные двоичные файлы для пользователей Windows 10, используйте условную компиляцию. Если вы предпочитаете создать один набор двоичных файлов, которые развертываются для всех пользователей Windows, используйте проверки во время выполнения.

Давайте вкратце рассмотрим эти варианты.

Условная компиляция

Можно вести одну базу кода и компилировать набор двоичных файлов только для пользователей Windows 10.

Для этого добавьте новую конфигурацию сборки в проект.

Конфигурация сборки

Создайте константу для этой конфигурации сборки, чтобы определить код, который будет вызывать API-интерфейсы WinRT.

Константа условной компиляции

Для проектов на основе C++ эта константа называется описанием препроцессора.

Константа описания препроцессора

Добавьте эту константу до всех блоков кода UWP.

Компилятор выполнит сборку этого кода, только если соответствующая константа определена в активной конфигурации сборки.

Проверки во время выполнения

Можно скомпилировать один набор двоичных файлов для всех пользователей Windows независимо от того, какую версию Windows они используют. В этом случае приложение будет обращаться к API-интерфейсам WinRT, только если пользователь выполняет его как упакованное приложение в среде Windows 10.

Для добавления в код проверок во время выполнения проще всего установить пакет NuGet Desktop Bridge Helpers (Вспомогательные элементы моста для классических приложений), а затем использовать метод IsRunningAsUWP() для отсеивания всего кода, который вызывает API-интерфейсы WinRT. Дополнительные сведения см. в записи блога Мост для классических приложений — определение контекста приложения.

Связанные примеры

Есть вопросы? Задайте их на Stack Overflow. Наша команда следит за этими тегами. Вы также можете задавать вопросы на наших форумах.

date

03.06.2020

directory

PowerShell, Windows 10, Windows Server 2016

comments

Комментариев пока нет

По-умолчанию настройки Windows запрещают запуск скриптов PowerShell. Это необходимо для предотвращения запуска вредоносного кода на PowerShell. Настройки политик запуска PowerShell скриптов определяются в Execution Policy. В этой статье мы рассмотрим доступные политики запуска PS скриптов, как изменить Execution Policy и настроить политики использования PowerShell скриптов на компьютерах в домене.

Выполнение PowerShell скриптов запрещено для данной системы

При попытке выполнить PowerShell скрипт (файл с расширением PS1) на чистой Windows 10, появляется ошибка:

Не удается загрузить файл ps1, так как выполнение скриптов запрещено для данной системы.

Текущее значение политики выполнения скриптов PowerShell на компьютере можно получить командой:

Get-ExecutionPolicy

Доступны следующие значения PowerShell Execution Policy:

При запуске сторонних PowerShell скриптов может появляется предупреждение с подтверждением запуска, см. ниже.

Как разрешить запуск скриптов PowerShell с помощью Execution Policy?

Чтобы изменить текущее значение политики запуска PowerShell скриптов, используется командлет Set-ExecutionPolicy.

Например, разрешим запуск локальных скриптов:

Подтвердите изменение политики запуска PS1 скриптов, нажав Y или A.

Set-ExecutionPolicy RemoteSigned разрешить запуск локальных powershell скриптов

Чтобы запрос не появлялся, можно использовать параметр Force.

Set-ExecutionPolicy RemoteSigned –Force

Если вы установили значение политики PowerShell Execution Policy в Unrestricted, то при запуске удаленных скриптов из сетевых каталогов по UNC пути, скачанных из интернета файлов, все равно будет появляться предупреждение:

Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message

Как PowerShell различает локальные и удаленные скрипты? Все дело в идентификаторе зоны ZoneId, которую выставляет браузер в альтернативном потоке при загрузке файла (см. статью “Как Windows определяет, что файл скачан из Интернета?”). Вы можете разблокировать такой файл, поставив галку “Разблокирвать” в его свойствах или очиститься метку зоны с помощью комадлета Unblock-File.

Также следует различать различные области действия политик выполнения скриптов PowerShell (scopes):

Область применения политики можно указать с помощью параметр Scope командлета Set-ExecutionPolicy. Например:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass –Force

Проверим текущие настройки ExecutionPolicy для всех областей:

Get-ExecutionPolicy scopes области действия

Значение политики выполнения, которые вы задаете с помощью командлета Set-ExecutionPolicy для областей CurrentUser и LocalMachine, хранятся в реестре. Например, выполните командлет:

Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy Restricted –Force

Откройте ветку реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell и проверьте значение REG_SZ параметра ExecutionPolicy. Оно изменилось на Restricted (допустимые значения параметра Restricted, AllSigned, RemoteSigned, Bypass, Unrestricted и Undefined).

ExecutionPolicy в реестре

Аналогичные настройки для области CurrentUser находятся в разделе реестра пользователя HKEY_CURRENT_USERSOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell.

Т.е. вы можете распространить нужные настройки политики исполнения скриптов через реестр с помощью Group Policy Preferences.

Отметим, что чаще всего в корпоративной среде используется ExecutionPolicy со значением AllSigned на уровне LocalMachine. Это обеспечивает максимальный баланс между безопасностью и удобством. Для личного пользования на компьютере можно использовать RemoteSigned. Ну а Bypass политику лучше использовать только для запуска отдельных задач (например для запуска скриптов через GPO или заданий планировщика).

Настройка PowerShell Execution Policy с помощью групповых политик

Вы можете настроить политику выполнения PowerShel скриптов на серверах или компьютерах домена с помощью групповых политик.

  1. С помощью редактора доменных GPO (gpmc.msc) создайте новую GPO (или отредактируйте) существующую и назначьте ее на OU с компьютерами, к которым нужно применить политику запуска PowerShell скриптов;
  2. В редакторе политики перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Windows PowerShell и найдите политику Turn on Script Execution (Включить выполнение сценариев);

групповая политика Turn on Script Execution

  • Allow only signed scripts (Разрешать только подписанные сценарии) — соответствует политике AllSigned;
  • Allow local scripts and remote signed scripts (Разрешать локальные и удаленные подписанные сценарии) — соответствует политике PS RemoteSigned;
  • Allow all scripts (Разрешать все сценарии) — политика Unrestricted.

После настройки политики выполнения через GPO вы не сможете изменить настройки политики выполнения скриптов вручную. При попытке изменить настройки Execution Policy на компьютере, на который применяется такая GPO, появится ошибка:

Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope

Аналогичным образом можно настроить Execution Policy на отдельном компьютере с помощью локального редактора GPO – gpedit.msc.

Способы обхода политики PowerShell Execution

Есть несколько трюков, которые могут помочь вам, когда нужно запустить на компьютере PowerShell скрипт, не изменяя настройки политики выполнения. Например, я хочу запустить простой PS1 скрипт, который поверяет, что запущен с правами администратора.

Компьютеры на базе Windows 10 поддерживают несколько способов запуска. Среднестатистические пользователи не придают этой опции значения, включая ПК в обычном режиме, когда доступны все основные службы. Но параллельно с этим существует режим отладки на операционной системе Windows 10, который может пригодиться опытным юзерам, желающим провести диагностику своего устройства.

Что такое режим отладки в Windows 10

Для определения того, что собой представляет данный режим, необходимо определить значение слова «отладка» («Debugging»). В сфере компьютерной техники ею называют процесс, позволяющий найти и устранить ошибки, связанные с работой ПК.

screenshot_1

Режим отладки позволяет решить массу проблем – от небольших сбоев Windows 10 до полного отказа от работы. Впрочем, к нему следует обращаться только опытным пользователям, которые способны найти объяснение каждому своему шагу. В остальных случаях, когда речь идет о новичке, исключать возможность применения режима тоже нельзя. Но в такой ситуации важно изучить инструкцию по активации Debugging и способах его применения на практике.

Как его включить?

Чтобы приступить к поиску и устранению неисправностей, необходимо перейти в режим Debugging. Для этого понадобится открыть меню с разными вариантами загрузки по следующему алгоритму:

screenshot_2

  • Перейдите в раздел «Обновление и безопасность», а затем – «Восстановление».

screenshot_3

  • Под заголовком «Особые варианты загрузки» нажмите на кнопку «Перезагрузить сейчас».

screenshot_4

На заметку. Также вы можете открыть дополнительное меню, зажав клавишу «Shift» при выборе варианта «Перезагрузка» в «Пуске».

В случае правильного выполнения указанных действий компьютер перезагрузится, а при следующем включении вы увидите синий экран с выбором действий. Можно нажать на кнопку «Продолжить», чтобы запустить ПК в стандартном режиме, но нас интересует Debugging, поэтому действуйте иначе:

  • Перейдите в раздел «Поиск и устранение неисправностей».

screenshot_5

  • Выберите «Дополнительные параметры», а затем – «Параметры загрузки».

screenshot_6

  • Найдите в списке пункт, отвечающий за отладку, и нажмите на клавишу, которая отвечает за ее активацию (как правило, это клавиша «F1»).

screenshot_7

После этого устройство включится вместе с отладочным окном, которое поможет выполнить различные манипуляции для диагностики и решения проблем. Также в рассматриваемом режиме любые ошибки сохраняются в виде отдельных файлов «логов», аналогичным образом помогающих установить причины неполадок и своевременно устранить их.

Возможные проблемы

  • Щелкните ПКМ по иконке «Пуск».
  • Откройте Командную строку с правами Администратора.
  • Введите запрос «bcdedit /set advancedoptions true».

screenshot_8

Следом произойдет перезапуск, и расширенные параметры откроются в принудительном порядке. Еще одна проблема связана с выходом из отладки. Чтобы компьютер включался в стандартной конфигурации, необходимо обработать запрос «deletevalue». Впечатать «bcdedit /deletevalue advancedoptions» в вышеупомянутой Командной строке или на появившемся синем экране выбрать опцию «Продолжить».

Windows 10 PowerShell – это средство командной строки, которое позволяет выполнять команды и сценарии для изменения параметров системы и автоматизации задач. Это похоже на командную строку, но PowerShell является более эффективным интерфейсом командной строки (CLI), который предоставляет широкий набор инструментов и обеспечивает большую гибкость и контроль (особенно для сценариев).

Скрипт – это просто набор команд, сохраненных в текстовый файл (с расширением .ps1), которые PowerShell может понять и выполнить в заданной последовательности. Единственное предупреждение заключается в том, что в отличие от командной строки, протокол безопасности по умолчанию предотвращает выполнение всех сценариев.

Работа со скриптами в инструменте PowerShell Windows 10

В этой версии урока по Windows 10 мы проведём вас шаг за шагом, чтобы вы смогли успешно запустить свой первый скрипт в PowerShell.

Создание файла сценария PowerShell

В Windows 10 файлы сценариев PowerShell можно создавать с помощью практически любого текстового редактора или консоли интегрированной среды сценариев (ISE).

Создание скрипта с помощью блокнота

Чтобы создать сценарий PowerShell с помощью блокнота, выполните следующие действия:

  1. Откройте приложение «Блокнот».
  2. Создайте или вставьте сценарий. Например: Write-Host ««Поздравляем! Ваш первый скрипт успешно выполнен»»

Создание файла скрипта PowerShell с помощью блокнота

Вышеприведенный скрипт просто выводит на экране фразу «Поздравляем! Ваш первый скрипт успешно выполнен».

Создание сценария с помощью интегрированной среды сценариев

Кроме того, консоль PowerShell ISE можно использовать для кодирования сценариев в Windows 10. Интегрированная cреда сценариев является сложным инструментом, но вы можете начать работу с помощью этих шагов:

    Откройте системный поиск и введите запрос Windows PowerShell ISE, щелкните правой кнопкой мыши верхний результат, и выберите Запуск от имени администратора или выберите соответствующий параметр в правой колонке.

Запуск интегрированной среды сценариев

В PowerShell ISE создайте пустой файл .ps1, в котором можно создать или вставить скрипт. Например:

Write-Host ««Поздравляем! Ваш первый скрипт успешно выполнен»»

Создаём скрипт для PowerShell через ISE

Как только Вы выполнили эти шаги с помощью Блокнота или PowerShell ISE, сценарий готов к запуску, но он не будет выполнен. Это происходит потому, что параметры PowerShell по умолчанию всегда настроены на блокирование выполнения любого сценария.

Запуск файла сценария PowerShell

Чтобы запустить файл сценария в PowerShell, необходимо изменить политику выполнения, выполнив следующие действия:

  1. Откройте поиск и введите PowerShell, щелкните правой кнопкой мыши в верхний результат и выберите Запуск от имени администратора.
  2. Введите следующую команду, чтобы разрешить выполнение скриптов и нажмите клавишу Enter :

Разрешим запуск скриптов PowerShell

Запуск файла скрипта PowerShell

После выполнения этих шагов сценарий будет запущен, и если он был создан правильно, вы должны увидеть его вывод без проблем.

PowerShell в Windows 10 включает четыре политики выполнения:

  • Restricted – останавливает выполнение скрипта.
  • RemoteSigned – запускает скрипты, созданные на устройстве. Однако, сценарии, созданные на другом компьютере, не будут запускаться, если они не содержат подписи доверенного издателя.
  • AllSigned – все скрипты будут работать до тех пор, пока они подписаны надежным издателем.
  • Unrestricted запускает любой скрипт без каких-либо ограничений.

В приведенных выше шагах мы использовали команду, чтобы разрешить запуск локальных скриптов в Windows 10. Однако, если вы не планируете регулярно выполнять скрипты, можно восстановить настройки по умолчанию, используя те же инструкции, но на Шаге 4, обязательно используйте Set-ExecutionPolicy Restricted команду.

Читайте также:

      

  • Подключение автоматического всплывающего диалога для включенного устройства windows 10
  •   

  • Как удалить недавние файлы в линукс минт
  •   

  • Создание шаблона windows server vmware
  •   

  • Linux вход не поддерживается
  •   

  • Игра тачки вылетает на windows 10

external help file Module Name ms.date online version schema title

ps_mmagent_v1.0.cdxml-help.xml

MMAgent

10/29/2017

https://learn.microsoft.com/powershell/module/mmagent/enable-mmagent?view=windowsserver2012r2-ps&wt.mc_id=ps-gethelp

2.0.0

Enable-MMAgent

SYNOPSIS

Enables application launch prefetching, operation recorder API functionality, page combining, and application prelaunch.

SYNTAX

Enable-MMAgent [-ApplicationLaunchPrefetching] [-OperationAPI] [-PageCombining] [-ApplicationPreLaunch]
 [-CimSession <CimSession[]>] [-ThrottleLimit <Int32>] [-AsJob] [<CommonParameters>]

DESCRIPTION

The Enable-MMAgent cmdlet enables any or all of the following features:

  • Application launch prefetching

  • Operation recorder API functionality

  • Page combining

  • Application prelaunching

Specify the ApplicationLaunchPrefetching parameter to help improve application startup performance.
Application launch prefetching causes the memory manager agent to monitor the data and code that applications access.
The memory management agent then uses that information to preload the data and code into physical memory for subsequent startups.

Specify the ApplicationPreLaunch parameter to help improve application startup performance.
Application prelaunch can speculatively launch applications that the user is likely to use in the near future, thus reducing application switch time.

Specify the OperationAPI parameter to help speed up operations that repeatedly access the same file data.
Enabling this feature exposes the Windows prefetching mechanism as a public interface.

Specify the PageCombining parameter to help reduce the physical memory that the operating system uses.
Page combining causes the memory manager to periodically combine pages in physical memory that have identical content.

EXAMPLES

Example 1: Enable application launch prefetching

PS C:> Enable-MMAgent -ApplicationLaunchPrefetching

This command enables application launch prefetching on the local computer.

PARAMETERS

-ApplicationLaunchPrefetching

Enables application launch prefetching.

If you do not specify this parameter, application launch prefetching remains in its current state, either enabled or disabled.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: alp

Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ApplicationPreLaunch

Enables application prelaunch.

If you do not specify this parameter, application prelaunch remains in its current state, either enabled or disabled.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: apl

Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AsJob

ps_cimcommon_asjob

Type: SwitchParameter
Parameter Sets: (All)
Aliases: 

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-CimSession

Runs the cmdlet in a remote session or on a remote computer.
Enter a computer name or a session object, such as the output of a New-CimSessionhttp://go.microsoft.com/fwlink/p/?LinkId=227967 or Get-CimSessionhttp://go.microsoft.com/fwlink/p/?LinkId=227966 cmdlet.
The default is the current session on the local computer.

Type: CimSession[]
Parameter Sets: (All)
Aliases: Session

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-OperationAPI

Enables operation recorder API functionality.

If you do not specify this parameter, operation recorder API functionality remains in its current state, either enabled or disabled.

For more information about the Operation Recorder API, see Operation Recorderhttp://msdn.microsoft.com/library/windows/desktop/hh437575(v=VS.85).aspx on MSDN (http://msdn.microsoft.com/library/windows/desktop/hh437575(v=VS.85).aspx)

Type: SwitchParameter
Parameter Sets: (All)
Aliases: oa

Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PageCombining

Enables page combining.

If you do not specify this parameter, page combining remains in its current state, either enabled or disabled.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: pc

Required: False
Position: Named
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet.
If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer.
The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type: Int32
Parameter Sets: (All)
Aliases: 

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).

INPUTS

OUTPUTS

NOTES

RELATED LINKS

Debug-MMAppPrelaunch

Get-MMAgent

Set-MMAgent

Disable-MMAgent

In today’s post, we’re covering how PC software can leverage the rich functionality of Windows 10. This is valuable background for the post, “Adding UWP Features to your Existing PC Software,” which goes into even more detail on the topic.

So here’s a question that generates a lot of confusion. Can PC software written in WPF, WinForms or MFC access the Windows 10 APIs used by the Universal Windows Platform (UWP)?

The answer is yes. There are some exceptions to this rule (and we’ll go over how to find them), but in general you can access the Windows 10 APIs. Or put a different way, there are no secret APIs being kept away from Windows developers.

How to access the Windows 10 APIs from WPF

You can access the Windows 10 APIs from a pre-existing WPF project. To do so, go to your Solution Explorer window and …

  1. Right click on References. Select “Add Reference…” from the context menu. On the left of the Reference Manager, choose Browse and find the following file: C:Program Files (x86)Windows Kits10UnionMetadatawinmd. Add it to your project as a reference. Note: You will need to change the filter to “All Files”.
  1. Right click on References. Select “Add Reference…” from the context menu. On the left of the Reference Manager, go to Browse and find the directory “C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETCorev4.5”. Add System.Runtime.WindowsRuntime.dll to your project.

Let’s say I want to make my WPF application location aware by calling on the Geolocator class in the Windows 10 Windows.Devices.Geolocation API. I can now do this and even use the asynchronous pattern common in UWP. Classes and methods I commonly think of as UWP code are now interweaved with classes and methods from WPF. In the example show below, I take my latitude and longitude from Geolocator and display it in a WPF MessageBox.

[code lang=”csharp”]

private async void Button_Click(object sender, RoutedEventArgs e)
{
var locator = new Windows.Devices.Geolocation.Geolocator();
var location = await locator.GetGeopositionAsync();
var position = location.Coordinate.Point.Position;
var latlong = string.Format(«lat:{0}, long:{1}», position.Latitude, position.Longitude);
var result = MessageBox.Show(latlong);
}

[/code]

How do I know which APIs are available?

As mentioned above, there are exceptions to the rule that Windows 10 APIs are accessible from PC software. The first big exception concerns XAML UI APIs. The XAML framework in UWP is different from the one in WPF and you really don’t want to be mixing them up, anyways.

The second set of APIs that you can’t use are ones that depend on an app’s package identity. UWP apps have package identities while PC software does not. Package identity information can be found in the app manifest file.

How do you determine which Windows 10 APIs require a package identity and which do not? The easiest way is to refer to this MSDN topic.

Unlocking even more APIs

There’s actually a way to provide PC software with a package identity. The Desktop Bridge lets you package PC software for deployment in the Windows Store. As part of this process, you create an app manifest file for it, effectively giving it a package identity.

[code lang=”xml”]

<?xml version=»1.0″ encoding=»utf-8″?>
<Package xmlns=»http://schemas.microsoft.com/appx/manifest/foundation/windows10″
xmlns:uap=»http://schemas.microsoft.com/appx/manifest/uap/windows10″
<Identity Name=»YOUR-APP-GUID-90cd-a7cdf2e0a180″
Publisher=»CN=YOUR COMPANY»
Version=»1.x.x.x» />
</Package>

[/code]

If you package your PC software for the Windows Store using Desktop Bridge, then most of the APIs you couldn’t previously use, because they require a package identity, will be available to you. APIs that depend on CoreWindow will still be a problem. However, once you have a desktop bridge package, you can add a UWP component (that runs in a separate app container process), and call literally any UWP API from there.

A quicker way to get at those Windows 10 APIs

But say you don’t want to deploy to the Windows Store at the moment and just want to use some of those Windows 10 APIs. How do you get to them from your app?

There’s a NuGet package for that. It’s called UwpDesktop and is written by Vladimir Postel and Lucian Wischik. If you want to examine the source code, it is maintained on GitHub.

For demonstration purposes, let’s build a console app based on a 2012 article by Scott Hanselman on using WinRT APIs (partly to show how much easier it is to do today). After creating a new desktop console application, insert the original code from 2012 into the Main method in Program.cs.

[code lang=”csharp”]

static void Main(string[] args)
{
LightSensor light = LightSensor.GetDefault();
if (light != null)
{
uint minReportInterval = light.MinimumReportInterval;
uint reportInterval = minReportInterval > 16 ? minReportInterval : 16;
light.ReportInterval = reportInterval;

light.ReadingChanged += (s, a) =>
{
Console.WriteLine(String.Format(«There was light! {0}», a.Reading.IlluminanceInLux));
};
}

while (Console.ReadLine() != «q») { }

}

[/code]

This code sadly will not compile because .NET 4.5 doesn’t know what the LightSensor class is, as shown below.

Here’s how we fix that. Install the UWPDesktop package to your project using the NuGet Package Manager.

Back in Program.cs, add the following using directive to the top of the file:

[code]

using Windows.Devices.Sensors;

[/code]

Next … well, actually that’s all it took. The app works now (assuming you have a light sensor attached to your computer).

And that’s the quick way to go about using Windows 10 APIs in a managed app.

How to access the Windows 10 APIs from C++

Calling Window 10 APIs isn’t just for managed code. You’ve also always been able to call them from C++ native apps.

Start by creating a new C++ Win32 application project. Alternatively, open a pre-existing C++ windows application project. Right click on your project and select Properties to bring up the configuration window. There are just four steps required to configure your application to make Windows 10 API calls.

  • Select the Configuration Properties > C/C++ > General node in the left pane. Set the Consume Windows Runtime Extension property to Yes.

  • In the same window, edit the Additional #using Directories property, adding the following entries:
    • C:Program Files (x86)Microsoft Visual Studio 14.0VCvcpackages;
    • C:Program Files (x86)Windows Kits10UnionMetadata;
    • C:Program Files (x86)Windows Kits10ReferencesWindows.Foundation.UniversalApiContract1.0.0.0;
    • C:Program Files (x86)Windows Kits10ReferencesWindows.Foundation.FoundationContract1.0.0.0;

  • Select the Configuration Properties > C/C++ > Code Generation node in the left pane. Set the Enable Minimal Rebuild property to No.

  • Last of all, select the Configuration Properties > General node and pick your Target Windows 10 version. Click OK to save your configuration settings.

Now you can start calling Windows APIs. Let’s finish off this app with something easy – calling the Launcher API from the C++ menubar.

Add the following using directives to the top of your project’s main CPP file:

[code lang=”csharp”]

using namespace std;
using namespace Platform;
using namespace Windows::Foundation;
using namespace Windows::System;
Include the header ROApi.h in your stdafx.h file.
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>

// TODO: reference additional headers your program requires here
#include «ROApi.h»
Initialize Windows::Foundation in your program’s entry point.
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);

// TODO: Place code here.
Windows::Foundation::Initialize();
}

[/code]

Initialize Windows::Foundation in your program’s entry point.

[code lang=”csharp”]

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);

// TODO: Place code here.
Windows::Foundation::Initialize();
}

[/code]

By default the Help menu only has one entry for About, so you will need to add a new button. Define the button in your Resource.h file:

#define IDM_SETTINGS  106

Then edit the *.rc file to add a new button for settings, in order to launch the Windows 10 Settings app.

[code]

IDC_HELLOWORLDWIN32TOUWP MENU
BEGIN
POPUP «&File»
BEGIN
MENUITEM «E&xit», IDM_EXIT
END
POPUP «&Help»
BEGIN
// add settings item to help menu around Line 47
MENUITEM «&Settings …», IDM_SETTINGS
MENUITEM «&About …», IDM_ABOUT

END
END

[/code]

Finally, override the callbacks for the menubar buttons to make them call the Windows 10 Launcher instead of whatever they are supposed to do.

[code lang=”csharp”]

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_SETTINGS:
Launcher::LaunchUriAsync(ref new Uri(L»ms-settings://»));
break;
case IDM_ABOUT:
Launcher::LaunchUriAsync(ref new Uri(L»https://blogs.windows.com/buildingapps//»));
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
break;
}
}

[/code]

Clicking on Help > Settings will bring up the Windows 10 Settings app, while clicking on Help > About will bring you to this blog (one of my favorite places)!

Let’s go one level deeper. There are many C++ applications and games out there that use alternative build tools and alternative build processes. Many of them continue to target older versions of Windows because this is what their customers are using. How can these application developers gradually move over to the Windows 10 APIs without abandoning their Windows 7 clients?

Reusing the same steps above for building a Windows executable, one could build a DLL to encapsulate any Windows 10 calls one might need, isolating them from the rest of the application. Let’s call this new DLL UWPFeatures.dll.

[code lang=”csharp”]

void Game::UpdateTile(int score, int hiScore)
{
HINSTANCE hinstLib;
UPDATETILE UpdateTileProc;
BOOL fFreeResult;

hinstLib = LoadLibrary(TEXT(«UWPFeatures.dll»));
if (NULL != hinstLib)
{
UpdateTileProc = (UPDATETILE)GetProcAddress(hinstLib, «UpdateTile»);
if (NULL != UpdateTileProc)
{
(UpdateTileProc)(score, hiScore);
}
fFreeResult = FreeLibrary(hinstLib);
}
}

[/code]

Then in the original application, method calls should check to see if the UWPFeatures.dll is packaged with the application (which will be true for Windows 10 installs). If it is present, it can be loaded dynamically and called. If it isn’t present, then the original call is made instead. This provides a quick pattern for not only accessing the Windows 10 APIs from pre-existing C++ games and applications, but also for doing it in a way that doesn’t require heavy reworking of the current base code.

Wrapping up

It has sometimes been claimed that Windows 10 has secret APIs that are only accessible through UWP apps. In this post, we demonstrated that this is not the case and also went over some of the ins and outs of using Windows 10 APIs in both managed and native desktop apps. You will find links below to even more reference materials on the subject.

Did you find this post helpful? Please let us know in the comments below—and also let us know if there’s anything else you’d like us to dig into for you about this topic.

Want to go a step further? Be sure to come back next week for our next blog, where we go into more detail about adding a UWP feature to your existing PC software with the Desktop Bridge.

  • UWP APIs callable from desktop applications
  • Calling UWP APIs from a desktop application
  • This NuGet package lets you use UWP APIs from your desktop apps
  • Desktop Bridge
  • UWP package identity
  • Call WinRT APIs from C# Desktop Applications (Win 8)

Введение в API-программирование

API (application programming interface) — интерфейс прикладного программирования (иногда интерфейс программирования приложений). Другими словами, это те возможности (функции, переменные, константы, классы), которые предоставляет приложение для использования прикладными программами.

API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.

Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать, при этом ящик будет производить какието определенные действия понятные и необходимые пользователю, но пользователь, при этом, не имеет даже представления о их реализации.

Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию — высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.

API операционных систем.

Практически все операционные системы (Unix, Windows, Mac OS, и т. д.) имеют API, с помощью которого программисты могут создавать приложения для этой операционной системы. Главный API операционных систем — это множество системных вызовов.

В индустрии программного обеспечения общие стандартные API для стандартной функциональности имеют важную роль, так как они гарантируют, что все программы, использующие общий API, будут работать одинаково хорошо или, по крайней мере, типичным привычным образом. В случае API графических интерфейсов это означает, что программы будут иметь похожий пользовательский интерфейс, что облегчает процесс освоения новых программных продуктов.

Widows API

Windows API — общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows (от Windows 3.11 до Windows 98) и Windows NT корпорации «Microsoft». Является самым прямым способом взаимодействия приложений с Windows. Для создания программ, использующих Windows API, «Microsoft» выпускает SDK, который называется Platform SDK и содержит документацию, набор библиотек, утилит и других инструментальных средств.

Windows API был изначально спроектирован для использования в программах, написанных на языке C (или C++). Работа через Windows API — это наиболее близкий к системе способ взаимодействия с ней из прикладных программ. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через Windows Driver Model.

Win32 – 32х разрядный API для современных версий Windows. Самая популярная ныне версия. Базовые функции этого API реализованы в DLL kernel32.dll и advapi32.dll; базовые модули GUI — в user32.dll и gdi32.dll. Win32 появился вместе с Windows NT и затем был перенесён (в несколько ограниченном виде) в системы серии Windows 9x. В современных версиях Windows, происходящих от Windows NT, работу Win32 GUI обеспечивают два модуля: csrss.exe (Client/Server Runtime Subsystem), работающий в пользовательском режиме, и win32k.sys в режиме ядра. Работу же системных Win32 API обеспечивает ядро — ntoskrnl.exe

Win64 — 64-разрядная версия Win32, содержащая дополнительные функции для использования на 64-разрядных компьютерах. Win64 API можно найти только в 64-разрядных версиях Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows Server 2008 R2 и Windows 7.

Структура API-программ

Центральным понятием программирования в среде Windows является сообщение. Система посылает сообщение приложению, а то, в свою очередь, должно правильно отреагировать на него. Получателями сообщений являются функции окон приложения, на программирование которых и уходит большая часть времени при разработке API-приложений.

Классическая структура API-программы определяется четырьмя компонентами: инициализация; цикл ожидания, или цикл обработки сообщений; функция главного окна; другие функции. В простейшем случае последний компонент может отсутствовать. Два первых компонента располагаются в функции WinMain, остальные реализуются отдельными функциями.

Содержание

  • Способ 1: Настройка локальной политики
  • Способ 2: Редактирование реестра
  • Способ 3: Консольная команда
  • Вопросы и ответы

Как включить выполнение сценариев PowerShell в Windows 10

Способ 1: Настройка локальной политики

По умолчанию запуск сценариев PowerShell запрещен политикой выполнения функций средства, что обусловлено требованиями безопасности и призвано предотвратить возможность исполнения отдельных вредоносных скриптов в среде Windows. Изменить такое положение вещей в общем-то несложно, а основной способ это сделать подразумевает привлечение «Редактора локальной групповой политики» («РЛГП»).

«РЛГП» по умолчанию доступен только в Windows 10 редакций «Pro» и «Enterprise», пользователям «Home»-выпуска операционки с конечной целью запуска PowerShell-сценариев следует сразу переходить к рассмотрению инструкций «Способ 2» и «3» в этой статье.

  1. Открываем окно «Редактора локальной групповой политики». Проще всего это сделать введя запрос Изменение групповой политики в системный «Поиск» Виндовс,
    Как включить выполнение сценариев PowerShell в Windows 10 07

    также возможно через оснастку «Выполнить» (открывается по нажатию «Win»+«R» на клавиатуре) – оправляем с её помощью на выполнение команду:

    gpedit.msc

    Как включить выполнение сценариев PowerShell в Windows 10 08

    Читайте также: Запуск «Редактора локальной групповой политики» в Windows 10

  2. Задействовав средства левой части окна РЛГП, в разделе «Конфигурация компьютера» поочередно разворачиваем каталоги: «Административные шаблоны»,
    Как включить выполнение сценариев PowerShell в Windows 10 09

    затем из него — «Компоненты Windows».

  3. Как включить выполнение сценариев PowerShell в Windows 10 10

  4. В содержимом «Компоненты Windows» находим и кликом выделяем каталог «Windows Powershell».
  5. Как включить выполнение сценариев PowerShell в Windows 10 11

  6. Перемещаемся в область справа окна Редактора, кликаем правой кнопкой манипулятора (ПКМ) по наименованию политики «Включить выполнение сценариев».
    Как включить выполнение сценариев PowerShell в Windows 10 12

    В отобразившемся меню выбираем «Изменить».

  7. Как включить выполнение сценариев PowerShell в Windows 10 13

  8. В открывшемся средстве изменения параметров политики «Включить выполнение сценариев» переводим расположенную в правой верхней части окна радиокнопку в положение «Включено».
    Как включить выполнение сценариев PowerShell в Windows 10 14

    Кроме того, переходим здесь в блок «Параметры:», щёлкаем по изначально пустому раскрывающемуся списку «Политика выполнения»,

    Как включить выполнение сценариев PowerShell в Windows 10 16

    Lumpics.ru

    выбираем в нём «Разрешать все сценарии».

  9. Как включить выполнение сценариев PowerShell в Windows 10 17

  10. Завершив конфигурирование политики вышеуказанным образом, нажимаем «ОК».
    Как включить выполнение сценариев PowerShell в Windows 10 18

    На этом всё, закрываем окно средства изменения локальной групповой политики – возможность запуска, по сути, любых сценариев PowerShell в текущем экземпляре Windows 10 получена.

  11. Как включить выполнение сценариев PowerShell в Windows 10 19

Способ 2: Редактирование реестра

Параметры политик выполнения сценариев ПоверШелл для локального компьютера, а также его текущего пользователя сохранены в главной базе данных настроек Виндовс 10 — системном реестре. Соответственно, изменив здесь значения отдельных записей, можно решить в том числе и задачу из заголовка этой статьи.

  1. Открываем «Редактор реестра». Существует множество способов это сделать, наиболее быстрые: отыскать ссылку на запуск приложения через системный «Поиск»,

    Как включить выполнение сценариев PowerShell в Windows 10 20

    отправить команду regedit через оснастку «Выполнить».

    Подробнее: Способы открытия «Редактора реестра» в Windows 10

  2. Как включить выполнение сценариев PowerShell в Windows 10 21

  3. Кликая по разворачивающим разделы из перечня слева в окне «Редактора реестра» элементам, переходим по следующему пути:

    HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows

    Как включить выполнение сценариев PowerShell в Windows 10 23

    Другой метод перемещения в нужный раздел реестра: копируем путь к нему из текста этой статьи в буфер обмена Windows 10, затем вставляем данные в поле под строкой меню Редактора, нажимаем «Enter».

    Как включить выполнение сценариев PowerShell в Windows 10 24

  4. Выделив (щелчком ЛКМ по наименованию в панели слева окна Редактора) расположенную по указанному выше пути папку «Windows», вызываем меню «Правка»,

    Как включить выполнение сценариев PowerShell в Windows 10 25

    кликаем в нём «Создать»«Раздел».

  5. Как включить выполнение сценариев PowerShell в Windows 10 26

  6. Далее вводим имя сформированного каталога – PowerShell,
    Как включить выполнение сценариев PowerShell в Windows 10 27

    нажимаем «Ввод» на клавиатуре.

  7. Как включить выполнение сценариев PowerShell в Windows 10 28

  8. Переходим в правую часть окна Редактора, кликаем ПКМ в её свободной от значков и записей области, в открывшемся контекстном меню нажимаем «Создать»«Параметр DWORD (32 бита)».
  9. Как включить выполнение сценариев PowerShell в Windows 10 29

  10. Присваиваем созданному объекту наименование EnableScripts,
    Как включить выполнение сценариев PowerShell в Windows 10 30

    дважды щёлкаем по нему.

  11. Как включить выполнение сценариев PowerShell в Windows 10 31

  12. В поле «Значение» отобразившегося окошка «Изменение параметра DWORD (32 бита)» вместо 0 пишем 1,
    Как включить выполнение сценариев PowerShell в Windows 10 32

    после этого кликаем «ОК».

  13. Как включить выполнение сценариев PowerShell в Windows 10 33

  14. Вновь кликаем ПКМ в отображающей параметры из раздела реестра «PowerShell» области, теперь выбираем в меню «Создать»«Строковый параметр».
  15. Как включить выполнение сценариев PowerShell в Windows 10 34

  16. В качестве имени параметра вводим ExecutionPolicy,
    Как включить выполнение сценариев PowerShell в Windows 10 35

    после чего двойным кликом по получившемуся объекту открываем окошко его изменения.

  17. Как включить выполнение сценариев PowerShell в Windows 10 36

  18. В поле «Значение:» вводим RemoteSigned,
    Как включить выполнение сценариев PowerShell в Windows 10 37

    щёлкаем «ОК» мышкой.

  19. Как включить выполнение сценариев PowerShell в Windows 10 38

  20. На этом всё – закрываем окно «Редактора реестра», перезагружаем компьютер и можем приступать к отныне беспроблемному и практически ничем не ограничиваемому запуску сценариев PowerShell.
  21. Как включить выполнение сценариев PowerShell в Windows 10 39

Способ 3: Консольная команда

Еще один метод устранения предусмотренных в Windows 10 преград для выполнения PowerShell-сценариев реализовать гораздо проще, нежели вышеописанные подходы, но решение в большей степени единоразовое (действует в рамках одного сеанса работы с консольной оболочкой). Подойдёт, когда нужно задействовать один-единственный скрипт рассматриваемого типа или это требуется редко.

  1. Запускаем приложение PowerShell от имени Администратора. Один из вариантов это сделать – средствами системной оснастки «Выполнить»:
    • Нажимаем «Win»+«R» на клавиатуре, вводим в поле «Открыть» отобразившегося окошка такую команду:

      рowershell

    • Как включить выполнение сценариев PowerShell в Windows 10 40

    • Далее нажимаем «Ctrl»+«Shift» на клавиатуре и, удерживая эти клавиши, кликаем «ОК» в окне «Выполнить» левой кнопкой мыши.
    • Как включить выполнение сценариев PowerShell в Windows 10 41

    • Подтверждаем («Да») поступивший из системного модуля «Контроль учётных записей» запрос.
    • Как включить выполнение сценариев PowerShell в Windows 10 42

    Читайте также: Запуск «PowerShell» в ОС Windows 10

  2. Вводим и запускаем команду перевода политики выполнения сценариев PowerShell в состояние, когда ею ничего не блокируется:

    Set-ExecutionPolicy Bypass

  3. Как включить выполнение сценариев PowerShell в Windows 10 43

  4. Введя Y и затем нажав «Enter», подтверждаем запрос системы «Вы хотите изменить политику выполнения?».
  5. Как включить выполнение сценариев PowerShell в Windows 10 44

  6. На этом всё – возможности выполнять сценарии теперь ничего не препятствует и так будет продолжаться до момента закрытия сессии ПоверШелл. Вводим в консоль путь на диске ПК, по которому расположен целевой исполняемый файл рассматриваемого типа, инициируем его запуск.
  7. Как включить выполнение сценариев PowerShell в Windows 10 46

Читайте также: Как скачать ISO-образ Windows при помощи PowerShell-скрипта Fido

Еще статьи по данной теме:

Помогла ли Вам статья?

Пользователь Виндовс может управлять работой не только тех программ, которые он установил самостоятельно, но и некоторых системных компонентов. Для этого в ОС есть специальный раздел, позволяющий не только отключать неиспользуемые, но и активировать различные системные приложения. Рассмотрим, как это делается в Windows 10.

Управление встроенными компонентами в Windows 10

Сама процедура входа в раздел с компонентами пока что не отличается от той, что реализовано в предыдущих версиях Виндовс. Несмотря на то, что раздел с удалением программ перенесен в «Параметры» «десятки», ссылка, ведущая на работу с компонентами, по-прежнему запускает «Панель управления».

    Итак, чтобы туда попасть, через «Пуск» перейдите в «Панель управления», вписав ее название в поисковое поле.

Через левую панель переходим в раздел «Включение или отключение компонентов Windows».

  • Откроется окно, в котором будут отображены все доступные компоненты. Галочкой отмечено то, что включено, квадратиком — то, что частично включено, пустой квадратик, соответственно, означает деактивированный режим.
  • Что можно отключить

    В целях отключения неактуальных работающих компонентов пользователь может воспользоваться приведенным ниже списком, а при необходимости вернуться в этот же раздел и включить нужное. Объяснять, что включить, мы не будем — это каждый пользователь решает для себя сам. А вот с отключением у юзеров могут возникнуть вопросы — не все знают, что же из них можно деактивировать без влияния на стабильную работу ОС. В целом же стоит заметить, что потенциально ненужные элементы уже и так отключены, а работающие лучше не трогать, тем более без понимания того, что вы вообще делаете.

    Обратите внимание, что отключение компонентов практически никак не влияет на производительность вашего компьютера и не разгружает жесткий диск. Это имеет смысл делать только если вы уверены в том, что конкретный компонент точно не пригодится или его работа мешает (например, встроенная виртуализация Hyper-V конфликтует со сторонним ПО) — тогда деактивация будет обоснована.

    Вы можете и сами решить, что отключать, наведя на каждый компонент курсор мыши — сразу появится описание его предназначения.

    Безопасно можно отключить любые из следующих компонентов:

    • «Internet Explorer 11» — если используете другие браузеры. Однако учтите, что разные программы могут быть запрограммированы на открытие ссылок внутри себя только через IE.
    • «Hyper-V» — компонент для создания виртуальных машин в Windows. Может быть отключено, если пользователь не знает, что такое виртуальные машины в принципе или использует сторонние гипервизоры типа VirtualBox.
    • «.NET Framework 3.5» (включающий в себя версии 2.5 и 3.0) — в целом отключать его не имеет смысла, но некоторые программы иногда могут задействовать эту версию вместо более новых 4.+ и выше. При возникновении ошибки запуска какой-либо старой программы, работающей только с 3.5 и ниже, потребуется заново включить этот компонент (ситуация редкая, но возможная).
    • «Windows Identity Foundation 3.5» — дополнение к .NET Framework 3.5. Отключить стоит только если то же самое сделали с предыдущим пунктом этого списка.
    • «SNMP-протокол» — помощник в тонкой настройке очень старых роутеров. Не нужен ни новым маршрутизаторам, ни старым, если те настроены для обычного домашнего использования.
    • «Внедряемое веб-ядро служб IIS» — приложение для разработчиков, бесполезное для обычного юзера.
    • «Встроенный модуль запуска оболочки» — запускает приложения в изолированном режиме при условии, что те поддерживают такую возможность. Рядовому юзеру эта функция не нужна.
    • «Клиент Telnet» и «Клиент TFTP». Первый умеет удаленно подключаться к командной строке, второй — передавать файлы по протоколу TFTP. То и другое обычно не используется простыми людьми.
    • «Клиент рабочих папок», «Прослушиватель RIP», «Простые службы TCPIP», «Службы Active Directory для облегчённого доступа к каталогам», «Службы IIS» и «Соединитель MultiPoint» — инструменты для корпоративного использования.
    • «Компоненты прежних версий» — изредка используется очень старыми приложениями и включается ими самостоятельно при необходимости.
    • «Пакет администрирования диспетчера RAS-подключений» — предназначен для работы с VPN через возможности Виндовс. Не нужен сторонним ВПН и может быть включен автоматически при надобности.
    • «Служба активации Windows» — инструмент для разработчиков, не связанный с лицензией операционной системы.
    • «Фильтр Windows TIFF IFilter» — ускоряет запуск TIFF-файлов (растровых изображений) и может быть отключен, если вы не работаете с этим форматом.

    Некоторые из перечисленных компонентов, скорее всего, будут уже отключены. Это значит, что и активация их вам, вероятнее всего, не потребуется. Кроме того, в разных любительских сборках часть перечисленных (и неупомянутых тоже) компонентов может и вовсе отсутствовать — это значит автор дистрибутива уже удалил их самостоятельно при модификации стандартного образа Виндовс.

    Решение возможных проблем

    Не всегда работа с компонентами происходит гладко: некоторые юзеры вообще не могут открыть это окно или изменить их статус.

    Вместо окна компонентов белый экран

    Существует проблема, связанная с запуском окна компонентов для дальнейшей их настройки. Вместо окна со списком отображается лишь пустое белое окно, которое не прогружается даже после многократных попыток его запуска. Есть несложный способ исправления данной ошибки.

      Открываем «Редактор реестра», нажав клавиши Win + R и вписав в окно regedit .

    В адресную строку вставляем следующее: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlWindows и жмем Enter.

    В основной части окна находим параметр «CSDVersion», быстро нажимаем по нему два раза левой кнопкой мыши, чтобы открыть, и задаем значение 0.

    Не включается компонент

    Когда невозможно перевести состояние какого-либо компонента в активное, поступите одним из следующих вариантов:

    • Запишите куда-нибудь список всех работающих на данный момент компонентов, отключите их и перезагрузите ПК. Затем попробуйте включить проблемный, после него все те, что отключили, и снова перезапустите систему. Проверьте, включился ли нужный компонент.
    • Загрузитесь в «Безопасном режиме с поддержкой сетевых драйверов» и включите компонент там.

    Хранилище компонентов было повреждено

    Нередкая причина перечисленных выше проблем заключается в повреждении системных файлов, вызывающих сбой в работе раздела с компонентами. Устранить его можно, следуя развернутой инструкции в статье по ссылке ниже.

    Теперь вы знаете, что именно можно отключать в «Компонентах Windows» и как решить возможные неполадки в их запуске.

    Включение и отключение компонентов Windows 10

    Как известно, Windows 10 отличается набором компонентов от предыдущих версий операционных систем Windows. Зачастую требуется их включить или выключить, чтобы они не потребляли системные ресурсы, да и просто не мешали. В этой статье мы рассмотрим как это сделать быстрее и эффективнее.

    Начнем с того, что существует два основных способа работы с компонентами (они еще называются features) — утилита DISM и командлеты Powershell. И то и другое встроено в Windows 10, в отличие от Windows 7, где dism можно было добавить или установив пакет Windows ADK, или руками скопировав dism.exe с другого компьютера.

    Сразу отмечу, что утилиту dism и среду powershell для работы с системой необходимо запускать от имени администратора, даже если ваш аккаунт уже находится в группе локальных админов. Итак, вы или находите cmd или windows powershell в меню и, кликнув правой кнопкой мышки, выбираете «Запуск от имени администратора».

    В Windows 10 есть понятие Features и Capabilities. Первое — это привычные нам компоненты, которые можно найти в Панели управления -> Программы и компоненты -> Включение и отключение компонентов Windows. То есть это встраиваемые модули, которые выполняют определенный сервисный функционал.

    Capabilities — это дополнительные возможности, которые расширяют возможности интерфейса и увеличивают удобство пользователя. Среди них — Language packs, наборы шрифтов. Да, Microsoft удалил часть нестандартных шрифтов, которые теперь вынесены в опциональные компоненты. Скачать эти компоненты можно в виде ISO файла с сайта Volume Licensing Service Center или напрямую через Internet и графический интерфейс Windows. Такую концепцию Microsoft назвала Features on Demand (FOD). Их в более ранних версия Windows не было.

    Работаем с Windows Features

    Итак, список установленных компонентов можно посмотреть командой

    Dism /online /Get-Features

    Вот как в Powershell можно получить список всех компонентов командлетами Get-WindowsFeature (для Windows Server) или Get-WindowsOptionalFeature (Windows 10):

    Чтобы получить список отключенных компонентов, введите:

    Get-WindowsOptionalFeature -Online | ? state -eq ‘disabled’ | select featurename

    Этот список также можно вывести в файл (для windows Server):

    Get-WindowsFeature | Where-Object <$_.Installed -match “True”>| Select-Object -Property Name | Out-File C:TempWindowsFeatures.txt

    Посмотрев список названий и их состояние, можно использовать эти названия для того, чтобы компоненты включить или выключить:

    Dism /online /Enable-Feature /FeatureName:TFTP /All

    ключ /All позволяет включить также все дочерние компоненты;

    Установка компонентов через Powershell выполняется командой Enable-WindowsOptionalFeature.

    Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell

    Параметр -All включает все дочерние компоненты.

    Dism /online /Disable-Feature /FeatureName:TFTP

    Аналогично, через Powershell это можно сделать командой Disable-Windowsoptionalfeature -online -featureName [feature name].

    Обратите внимание, некоторые фичи имеют разные названия в Windows 7 и Windows 10. Например, RSAT в Windows 7 — это RemoteServerAdministrationTools, а в Windows 10 — RSATclient.

    Управление Features on Demand (FOD)

    Если вы устанавливаете их через графический интерфейс, то вам необходимо пройти “System –> App & features –> Manage optional features” и нажать знак + напротив необходимых компонентов.

    Чтобы сделать это автоматизированно через командную строку, наберите чтобы получить список доступных компонентов:

    DISM.EXE /Online /Get-Capabilities

    или на Powershell:

    Как и прежде, запомните название необходимых вам компонентов, чтобы включить их командой (на примере .Net Framework 3):

    DISM.EXE /Online /Add-Capability /CapabilityName:NetFx3

    или на Powershell:

    Add-WindowsCapability –Online -Name NetFx3

    Если же у вас нет доступа в Интернет, то есть выход. Итак, вы скачиваете ISO образ диска с FOD компонентами с сайта Volume Licensing Service Center. Файлы будут разные для разных релизов Windows 10 — 1511, 1607, 1703, 1709. Важно помнить, что компоненты одного релиза не подходят к другому. Если вы сделаете in-place upgrade (установка одного релиза поверх другого через обновление), то несовместимые установленные компоненты будут удалены без вашего желания! Да, Microsoft удаляет то, что считает несовместимым при обновлении.

    Так вот, ISO файл содержит набор неизвестных и сложных для понимания файлов с расширением cab. Вот чудесный файлик на сайта Microsoft, который обясняет назначение каждого файла. Итак, существуют следующие типы FOD:

    • Microsoft-Windows-LanguageFeatures-Basic — проверка правописания для различных языков и раскладок клавиатуры;
    • Microsoft-Windows-LanguageFeatures-Fonts — национальные шрифты, например, азиатские
    • Microsoft-Windows-LanguageFeatures-OCR — средства для распознавания шрифтов
    • Microsoft-Windows-LanguageFeatures-Handwriting — средства для распознавания рукописного ввода
    • Microsoft-Windows-LanguageFeatures-TextToSpeech — средства преобразования текста в голос, используемые подсказчиком Cortana
    • Microsoft-Windows-LanguageFeatures-Speech — распознавание голоса
    • Microsoft-Windows-InternationalFeatures — пакеты национальных настроек, например, для Тайваня

    Итак, для добавления таких FOD компонентов, используйте команды вида (замените имя компонента):

    Dism /Online /Add-Capability /CapabilityName:Language.Basic

    Для удаления FOD:

    Dism /Online /Remove-Capability /CapabilityName:Language.Basic

    Установка и переустановка пакетов языков (Language Interface Packs, LIP)

    Язык интерфейса Windows можно поменять, установив так называемые LIP. ранее они назывались MUI (Multi user interface). Файлы LIP выглядят так: Microsoft-Windows-Client-Language-Pack_x64_es-es.cab для испанского языка. Выглядеть установка будет примерно так:

    Dism /Add-Package /online /PackagePath:»C:LanguagesMicrosoft-Windows-Client-Language-Pack_x64_fr-fr.cab»

    Dism /Remove-Package /online /PackageName:Microsoft-Windows-Client-LanguagePack-Package

    В следующей статье мы поговорим как с помощью DISM и Powershell управлять так называемыми Modern-приложениями AppX.

    Включение и отключение компонентов в Windows 10

    Некоторые функции и программы, имеющиеся в Windows 10, отключены по умолчанию, но их можно запустить вручную. Используя те же способы, можно деактивировать многие системные сервисы и приложения. Меню управления компонентами расположено в настройках системы.

    Что не стоит отключать

    Во-первых, стоит учесть, что отключённые компоненты не стираются из системы и остаются в памяти жёсткого диска. Они временно перестают быть доступны, то есть найти и запустить их будет нельзя до тех пор, пока пользователь снова не активирует их в настройках Windows. Единственный повод блокировать к некоторым программам доступ — обезопасить неопытных пользователей от случайного их использования с неприятными последствиями.

    Во-вторых, от некоторых компонентов зависит система, поэтому их отключение может привести к тому, что Windows начнёт работать некорректно или вовсе перестанет отвечать. Если вы не знаете, для чего нужен тот или иной сервис и можно ли его деактивировать, то не трогайте данный компонент. В противном случае повышается риск того, что придётся потратить много времени на восстановление системы. Например, отключение службы «Печать PDF» приведёт к тому, что Windows не сможет работать с PDF-файлами, а при отключённом компоненте NET Framework многие приложения не смогут открыться.

    Не рекомендуется отключать следующие службы: .NET Framework, Media Features, Print to PDF, PowerShell, службы печати и документов.

    Активация и деактивация компонентов

    Есть несколько способов, позволяющих просмотреть список включённых и отключённых компонентов и отредактировать его. Сторонние программы не понадобятся, так как все необходимые средства встроены в Windows 10. В конце статьи представлена таблица со списком всех компонентов и задач, которые они выполняют. С помощью неё вы сможете понять, какие компоненты нужны вам включёнными, а какие — нет.

    Через панель управления

    Панель управления — основное приложение системы, в котором находятся практически все настройки, с которыми когда-либо придётся контактировать пользователю. В том числе в нём есть и параметры компонентов:

    1. Разверните панель управления, найдя её при помощи системной поисковой строки. Открываем панель управления
    2. Перейдите к блоку «Программы и компоненты». Его можно найти по названию с помощью поисковой строки. Открываем раздел «Программы и компоненты»
    3. Нажмите на строку «Включение и отключение компонентов Windows». Заметьте, переход к этому разделу требует прав администратора. Нажимаем на строчку «Включение и отключение компонентов Windows»
    4. Развернётся полный список компонентов: включённые имеют тёмный квадратик, выключенные — белый незакрашенный квадрат. Если у компонента имеется иконка с плюсом, значит у него есть подкомпоненты, список которых открывается кликом по значку с плюсом. Отключение главного компонента приведёт к деактивации всех его подкомпонентов. Выбираем, какие компоненты стоит включить, а какие — отключить

    Через параметры системы

    Альтернативный способ настройки системы — использование приложения «Параметры». С помощью него также можно выполнить детальную настройку многих характеристик Windows, в том числе и компонентов:

    1. Разверните приложение «Параметры», найти его можно по названию при помощи системной поисковой строки. Открываем параметры системы
    2. Перейдите к блоку «Приложения». Нажимаем на раздел «Приложения»
    3. Находясь в подпункте «Приложения и возможности», нажмите на строчку «Управление дополнительными компонентами». Нажимаем на кнопку «Управление дополнительными компонентов»
    4. Появится список используемых компонентов. Чтобы отключить один из них, кликните по нему левой кнопкой мыши, а потом нажмите кнопку «Удалить». Нажимаем кнопку «Удалить»
    5. Чтобы добавить новый компонент, используйте кнопку «Добавить компонент», после нажатия которой откроется список неиспользуемых сервисов. Выберите из них нужный вам и кликните по кнопке «Установить». Нажимаем кнопку «Установить»

    Видео: настройка компонентов Windows 10

    Таблица: список компонентов и их задачи

    Используя нижеприведенную таблицу можно узнать, для чего нужен тот или иной компонент. Обладая этой информацией, вы вправе самостоятельно решить, какие компоненты стоит отключить, а какие лучше оставить включёнными.

    Название компонента Задача компонента
    NET Framework 3.5 необходим для работы программ, написанных на .NET.
    .NET Framework 4.6 Advanced Services также используется программами, написанными на .NET
    Hyper-V необходим для работы виртуальных машин
    Internet Explorer 11 стандартный браузер, используемый во всех предыдущих версиях Windows. В Windows 10 заменён Edge
    SNMP-протокол протокол по управлению сетевыми устройствами
    Windows Identity Foundation 3.5 используется старыми программами, написанными на .NET
    Windows PowerShell 2.0 современная командная строка, во многом копирующая стандартную, но и дополняющая её
    Внедряемое веб-ядро служб IIS инструмент для разработчиков ПО
    Встроенный модуль запуска оболочки Позволяющий приложениям работать в безопасном изолированном пространстве, если они запрограммированы на это
    Клиент Telnet команды Telnet позволяют удалённо подключаться к интерфейсу командной строки
    Клиент TFTP передача файлов по TFTP
    Клиент рабочих папок данный компонент позволяет синхронизировать папки из корпоративной сети к вашему компьютеру
    Компоненты для работы с мультимедиа если вы не используете Windows Media для воспроизведения видео и аудио — здесь вы его можете отключить
    Пакет администрирования диспетчера RAS — подключений данный инструмент позволяет создавать пользовательские профили удалённого доступа для VPN. Используется IT специалистами в основном в корпоративных сетях
    Печать в PDF отвечает за просмотр, редактирование, работу и печать файлов в расширении PDF
    Поддержка АРІ удалённого разностного сжатия алгоритм для сравнения синхронизированных файлов
    Поддержка общего доступа к файлам SMB 1.0/CIFS позволяет совместное использование файлов и принтеров с более старыми Windows (от 4.0 до XP)
    Прослушиватель RIP данная служба полезна только если у вас есть маршрутизатор, который поддерживает протокол RIPv1
    Простые службы TCPIP это набор дополнительных сетевых услуг для устранения некоторых неполадок корпоративной сети
    Сервер очереди сообщений Майкрософт это старая услуга по отправке сообщений в ненадёжных сетях. Если пропала связь, то сообщения хранятся в буфере и отправляются сразу после её восстановления
    Служба активации Windows необходима для разработчиков ПО, используется ими. Данный компонент связан с Internet Information Services (IIS)
    Службы Active Directory для облегчённого доступа к каталогам работа с серверами LDAP (Lightweight Directory Access Protocol)
    Службы IIS предоставляет веб и FTP — серверы IIS от Microsoft вместе с инструментами для управления серверами
    Службы XPS печать файлов в расширении XPS
    Службы печати документов клиент печати через Интернет и Windows
    Соединитель MultiPoint мониторинг и управление с помощью MultiPoint Manager , и панели приложений
    Средство просмотра XPS просмотр элементов в формате XPS — документы
    Фильтр Windows TIFF IFilter анализ .TIFF файлов и оптическое распознание символов (OCR).

    Включая новые компоненты, вы сможете увеличить возможности системы, отключая старые — обезопасите неопытных пользователей от неправильного использования некоторых программ. Но помните, что избавляться можно только от тех служб, которые не задействованы в работе системы и запуске приложений.

    Что такое компоненты Windows 10 и какие из них можно отключить

    Windows 10 поставляется вместе с большим списком «компонентов», которые пользователь может включить или выключить в соответствующем диалоговом окне. Большое количество функций из этого списка создано специально для нужд и потребностей бизнес-пользователей и серверов, но вместе с этим часть компонентов может пригодиться и обычному пользователю.

    Все компоненты Windows занимают место на вашем жестком диске, вне зависимости от того, включены они или нет. Иными словами, отключение отдельных компонентов не освободит место на диске компьютера. Кроме того, не стоит включать абсолютно все компоненты Windows, поскольку это негативно скажется на безопасности вашего компьютера, а также ухудшит его производительность. Стоит включать лишь те компоненты, которые вам действительно нужны или те, принцип работы которых вы понимаете. Это же касается и отключения. Бездумное выключение отдельных или всех компонентов системы может привести к нарушению работы приложений или ухудшению защищенности операционной системы.

    Компоненты Windows 10

    Управлять компонентами Windows можно только из классической панели управления. В Windows 10 Fall Creators Update Microsoft все еще не перенесла раздел с компонентами в новое приложение Параметры Windows. Интерфейс настройки компонентов Windows позволяет настроить виртуализацию Hyper-V, IIS-сервисы, подсистему Linux и так далее. Вы даже можете «отключить» Internet Explorer с помощью окна компонентов Windows 10. Конкретный набор доступных опций будет зависеть от того, какую редакцию Windows вы используете. В Windows 10 Профессиональная будет список побольше, а в Windows 10 Домашняя поменьше.

    Где найти программы и компоненты Windows 10

    Чтобы добраться до окна настройки компонентов Windows нажмите Win + R и введите optionalfeatures. Сразу же появится небольшое окошко со списком. Как вариант, вы можете ввести команду control, а затем перейти в раздел Программы – Включение или отключение компонентов Windows. Обратите внимание, что изменение компонентов Windows требует от вашей учетной записи наличия прав Администратора.

    Посмотрите на список компонентов, и вы заметите, что определенные пункты обозначены черными квадратами, а не «птичками». Это означает, что компонент имеет «подкомпоненты» и не все из них активированы. Нажмите на плюсик, и система отобразит список доступных подкомпонентов.

    Внесите нужные вам изменения и нажмите Ок. Скорее всего, Windows попросит перезагрузиться, чтобы изменения вступили в силу.

    Обратите внимание, что управление компонентами Windows не требует от компьютера активного Интернет-соединения. Их можно включать и выключать в любой момент вне зависимости от того, есть ли Интернет или его нет. Все компоненты уже доступны в системе после установки, а окно настроек лишь включает или отключает их.

    Какие компоненты Windows можно отключить

    Здесь вы найдете объяснение нескольких компонентов Windows и то, для чего они нужны. Внимательно ознакомьтесь с ним и сами решите, какие из них нужны вашему компьютеру, а какие нет. Имейте ввиду, что отключение тех или иных компонентов может привести к тому, что часть приложений перестанет работать или будет работать с ошибками.

    • .NET Framework 3.5 (включает .NET 2.0и 3.0). Этот компонент должен быть включен, чтобы приложения, написанные с помощью .NET версий 3.0 и старше, работали должным образом. Зачастую Windows сама включает этот компонент, как только определенное приложение делает соответствующий запрос.
    • .NETFramework4.7 с дополнительными службами. Как и .NET 2.0 / 3.0, 4.7 включается автоматически при необходимости. Подробнее об этом вы можете почитать в статье «Что такое .NET Framework».
    • Hyper-V. Это технологии виртуализации Microsoft. Они включают в себя сервисы, платформу и графический интерфейс Hyper-V Manager, который необходим для создания, управления и использования виртуальных машин. Этот компонент требует наличия физической поддержки технологий виртуализации процессором вашего компьютера. Он должен быть включен, если вы хотите пользоваться виртуальными машинами на своем компьютере. Если нет, можете его выключить.
    • Internet Explorer 11. Старый-добрый «ослик». Если он вам не нужен, можете с чистой совестью отключить его. Подробнее этот процесс описан в статье «Как удалить Internet Explorer в Windows 10».
    • MediaFeatures. Этот компонент нужен для работы стандартного проигрывателя Windows Media Player. Отключите Media Features и из вашего компьютера исчезнет Windows Media Player, но при этом функции воспроизведения медиафайлов никак не пострадают.
    • MicrosoftPrinttoPDF. Хороший, годный и полезный инструмент, с помощью которого вы можете конвертировать любой документ в PDF-файл. Своего рода «виртуальный принтер», который печатает на цифровых PDF-файлах.
    • MicrosoftXPSDocumentWriter. XPS – новый формат документов, представленный с Windows Vista. Как и ОС, особой популярности он не снискал. Microsoft XPS Document Writer предоставляет системе необходимые библиотеки для создания документов формата XPS. Можно смело отключать, если вы никогда не слышали, а значит и не пользовались XPS-файлами.
    • SNMP-протокол. Старый протокол для управления роутерами, свитчами и другим сетевым оборудованием. Нужен для тех, у кого рабочее оборудование использует этот протокол, что вполне очевидно. Отключен по умолчанию.
    • WindowsIdentityFoundation3.5. Очень старые .NET-приложения могут все еще могут требовать наличия этого компонента. .NET 4 включает в себя новую версию этого фреймворка. Как и в случае с .NET 3.5, WIF 3.5 активируется лишь тогда, когда определенное приложение потребует этого.
    • WindowsPowerShell2.0. PowerShell – более продвинутая командная и скриптинговая среда, обладающая рядом значительных преимуществ по сравнению с классической командной строкой. PowerShell включена по умолчанию, но вы можете отключить ее, если вам так хочется. Ничего страшного не случится – вы просто не сможете больше пользоваться PowerShell.
    • Клиент рабочих папок. С помощью этого компонента пользователи могут синхронизировать папки из корпоративной сети на компьютер.
    • Служба активации Windows. Эта служба связана с IIS. Ее надо активировать лишь при запуске определенных серверных приложений. Если у вас таковых нет, то и трогать эту службу не надо. К активации самой операционной системы как продукта эта опция не имеет отношения.
    • Клиент TFTP. Используется для передачи файлов на компьютеры и устройства с использованием протокола TFTP. Он старый и небезопасный, в основном используется на реально древних компьютерах.
    • Подсистема Windowsдля Linux. Об этом подробно описано в статье «Как включить Linux в Windows 10».
    • Компоненты прежних версий. DirectPlay. Этот компонент когда-то был частью DirectX и использовался в мультиплеере в определенных играх. Windows автоматически установит DirectPlay, если старая игра требует его.
    • Поддержка APIудаленного разностного сжатия. Быстрый алгоритм для сравнения синхронизированных файлов. Как и большое количество других компонентов, включается лишь по мере необходимости.
    • Поддержка общего доступа к файлам SMB1.0 / CIFS. За счет этой службы компьютер может делиться файлами и принтерами со старыми версиями Windows (от Windows XP / Windows Server 2003 R2 вплоть до Windows 10 NT 4.0). Протокол этот весьма старый и небезопасный, поэтому его можно отключить.
    • Службы печати и документов. Клиент интернет-печати, а также факсы и сканирование Windows включены по умолчанию, но вы можете также включить печатные сетевые протоколы LPD и LPR. Надо сказать, что делать этого не стоит, поскольку протоколы уже устарели и требуются в очень редких случаях при подключении определенных сетевых принтеров.
    • Соединитель MultiPoint. Этот компонент активирует мониторинг и управление устройством с помощью MultiPoint Manager. Полезен только в корпоративный сетях, где ИТ-специалисты используют соответствующие утилиты управления.
    • Средство просмотра XPS. Собственно, приложение для открытия XPS-документов.
    • Фильтр WindowsTIFFiFilter. Ничего общего с Apple этот компонент не имеет. Он позволяет сервису индексирования Windows производить распознавание текста (OCR). Компонент отключен по умолчанию, поскольку функция сильно нагружает процессор компьютера. TIFF iFIlter нужен для тех, кто часто сканирует бумажные документы и использует TIFF-файлы.

    В списке вы найдете еще много других компонентов, которые зачастую отключены. Они включаются автоматически лишь при необходимости, поэтому вручную активировать их мы не рекомендуем. Если они отключены, значит скорее всего они вам не нужны вовсе. Ну а что же касается включенных компонентов, то их описание вы уже нашли в этой статье. Сами решайте, стоит их отключать или нет. В подавляющем большинстве случаев пользователю вовсе не надо открывать окно с компонентами Windows, но все же полезно знать, для чего они нужны и какую функцию выполняют.

    Включение или отключение компонентов Windows 10

    Привет! Мы продолжаем разбирать операционную систему Windows 10! Сегодня вы узнаете как включить или отключить компоненты на компьютере Windows 10. Всё очень просто и быстро! Смотрите далее!

    Включение или отключение компонентов Windows 10

    Для настройки компонентов, внизу экрана слева откройте меню “Пуск” . В открывшемся окне, в списке всех приложений, внизу, откройте вкладку “Служебные Windows” . В открывшемся списке нажмите на вкладку “Панель управления” .

    Далее, на странице “Панель управления” перейдите на вкладку “Программы” .

    Далее, на следующей странице нажмите на вкладку “Включение или отключение компонентов Windows” .

    Далее, у вас откроется окно “Включение или отключение компонентов Windows” . Чтобы включить компонент поставьте галочку, чтобы отключить компонент снимите галочку, нажмите на кнопку OK.

    По умолчанию вы можете включить или отключить следующие компоненты:

    – .NET Framework 3.5 (включает .NET 2.0 и 3.0)

    – Internet Explorer 11

    – Windows Identity Foundation 3.5

    – Windows PowerShell 2.0

    – Внедряемое веб-ядро служб IIS

    – Клиент рабочих папок

    – Компоненты для работы с мультимедиа

    – Компоненты прежних версий

    – Печать в PDF (Майкрософт)

    – Поддержка API удалённого разностного сжатия

    – Поддержка общего доступа к файлам SMB 1.0/CIFS

    – Подсистема Windows для Linux (бета-версия)

    – Простые службы TCPIP (такие как echo, daytime и т.п.)

    – Сервер очереди сообщений Майкрософт (MSMQ)

    – Служба активации Windows

    – Службы печати и документов

    – Средство просмотра XPS

    – Фильтр Windows TIFF IFilter

    Настройка сенсорной панели Windows 10

    Остались вопросы? Напиши комментарий! Удачи!

    Привет! Так,где включать/выключать найти нетрудно… Какие надо включить,а какие лучше отключить-вот в чём вопрос!

    Привет, отключай всё, что тебе не нужно и что не связано с работой Windows 10, то есть, то, что не влияет основные, необходимые для работы процессы.

    Блин,спасибо! Сам бы я до такого не додумался…. Хотя,я и сейчас не знаю,какие процессы на что и как влияют,потому как не обучался этому! Я весь интернет облазил,но так и не нашёл конкретного ответа-что нельзя выключать,а что лучше выключить,чтобы повысить производительность,и те процессы не понадобятся,если вы используете компьютер,как мультимедийный центр,а не для работы по программированию,разработкой,созданию различных программ и пр.
    Я посмотрел где-то,какое-то видео,где “челик” показывает,какие процессы надо выключить,чтобы повысить производительность.Я всё повыключал-производительность повысилась,я рад…был! Теперь система не обновляется,потому что что-то блокирует “центр обновления системы” и ещё кучу всего.Вот,я и подумал,что именно здесь что-то отключено,ибо я не помню,потому что много где лазил и много чего наотключал.Откатить систему нельзя,т.к. “твс” давно обновились,да и приложений с играми наставил,всё удалится.И таблица у меня другая. Win10Pro -так,на всякий случай.

    Найдите процессы, которые отвечают за обновление Windows 10 и включите их. Ищите в названии процесса слово Обновление.

    Что делать если у меня не открывается включонные и отключенные компанеты на виндоус 7

    Надо перейти на Windows 10. 7 версия ОС уже не поддерживается компанией Майкрософт, на ней работать в интернете опасно.

    In PowerShell, if I run Get-AppxPackage, I get a list of UWP apps installed, including mine.
    For example:

    Name              : TonyHenrique.tonyuwpteste
    Publisher         : CN=tTony
    Architecture      : X64
    ResourceId        :
    Version           : 1.1.12.0
    PackageFullName   : TonyHenrique.tonyuwpteste_1.1.12.0_x64__h3h3tmhvy8gfc
    InstallLocation   : C:Program FilesWindowsAppsTonyHenrique.tonyuwpteste_1.1.12.0_x64__h3h3tmhvy8gfc
    IsFramework       : False
    PackageFamilyName : TonyHenrique.tonyuwpteste_h3h3tmhvy8gfc
    PublisherId       : h3h3tmhvy8gfc
    IsResourcePackage : False
    IsBundle          : False
    IsDevelopmentMode : False
    Dependencies      : {Microsoft.NET.CoreRuntime.2.1_2.1.25801.2_x64__8wekyb3d8bbwe, Microsoft.VCLibs.140.00.Debug_14.0.25805.1_x64__8wekyb3d8bbwe,
                        TonyHenrique.tonyuwpteste_1.1.12.0_neutral_split.scale-100_h3h3tmhvy8gfc}
    IsPartiallyStaged : False
    SignatureKind     : Developer
    Status            : Ok
    

    Now I want to start this app.

    How to do this in PowerShell, or in cmd?

    asked Oct 23, 2017 at 15:38

    Tony's user avatar

    1

    During development, I’ve encountered a situation where the app family name occasionally changed. You can reliably launch an app by name with a simple lookup:

    • Cmd

      powershell.exe explorer.exe shell:AppsFolder$(get-appxpackage -name YourAppName ^| select -expandproperty PackageFamilyName)!App
      
    • Powershell

      explorer.exe shell:AppsFolder$(get-appxpackage -name YourAppName | select -expandproperty PackageFamilyName)!App
      

    answered Feb 18, 2018 at 20:21

    apk's user avatar

    apkapk

    1,5091 gold badge20 silver badges28 bronze badges

    2

    With the Windows 10 Fall Creators Update 1709 (build 16299) you now have the ability to define an app execution alias for your UWP app, so you can launch it easily from cmd or powershell:

    <Extensions>
        <uap5:Extension
          Category="windows.appExecutionAlias"
          StartPage="index.html">
          <uap5:AppExecutionAlias>
            <uap5:ExecutionAlias Alias="MyApp.exe" />
          </uap5:AppExecutionAlias>
        </uap5:Extension>
    </Extensions>
    

    Furthermore, we now support commandline arguments for UWP apps. You can read them from the OnActivated event:

    async protected override void OnActivated(IActivatedEventArgs args)
    {
        switch (args.Kind)
        {
            case ActivationKind.CommandLineLaunch:
                CommandLineActivatedEventArgs cmdLineArgs = 
                    args as CommandLineActivatedEventArgs;
                CommandLineActivationOperation operation = cmdLineArgs.Operation;
                string cmdLineString = operation.Arguments;
                string activationPath = operation.CurrentDirectoryPath;
    

    See blog post:
    https://blogs.windows.com/buildingapps/2017/07/05/command-line-activation-universal-windows-apps/

    answered Oct 23, 2017 at 19:38

    Stefan Wick  MSFT's user avatar

    Stefan Wick MSFTStefan Wick MSFT

    13.4k1 gold badge30 silver badges50 bronze badges

    1

    Try this in PowerShell:

    start shell:AppsFolderTonyHenrique.tonyuwpteste_h3h3tmhvy8gfc!App
    

    answered Oct 23, 2017 at 16:31

    Jet  Chopper's user avatar

    Jet ChopperJet Chopper

    1,46812 silver badges22 bronze badges

    1

    If you know the display name, you can use Get-StartApps, which includes the correct suffix:

    start "shell:AppsFolder$(Get-StartApps "Groove Music" | select -ExpandProperty AppId)"
    

    answered Sep 10, 2020 at 15:34

    Ben Allred's user avatar

    Ben AllredBen Allred

    4,4441 gold badge18 silver badges20 bronze badges

    I know it’s an old post, but I built a function to do it.
    Hope it helps other folks.

    function Start-UniversalWindowsApp {
    
        [CmdletBinding()]
        param (
            [Parameter(
                Mandatory,
                Position = 0,
                ValueFromPipeline,
                ValueFromPipelineByPropertyName = $false
            )]
            [ValidateNotNullOrEmpty()]
            [string]$Name,
            
            [Parameter()]
            [pscredential]$Credential
        )
    
        $queriedapp = $Global:UwpList | Where-Object { $PSItem.Name -like "*$Name*" }
        if (!$queriedapp) { Write-Error -Exception [System.Data.ObjectNotFoundException] -Message "No app was found with the name '$Name'." }
        if ($queriedapp.Count -gt 1) {
            $indexapplist = @()
            for ($i = 1; $i -le $queriedapp.Count; $i++) {
                $indexapplist += [pscustomobject]@{ Index = $i; App = $queriedapp[$i - 1] }
            }
    
            Write-Host @"
    More than one app was found for the name $($Name):
    
    "@
    
            $indexapplist | ForEach-Object { Write-Host "$($PSItem.Index) - $($PSItem.App.Name)" }
            $usrinput = Read-Host @"
    
    Select one or all packages.
    [I] Package Index  [A] All  [C] Cancel
    "@
    
            while (($usrinput -ne 'A') -and ($usrinput -ne 'C') -and ($usrinput -notin $indexapplist.Index) ) {
                if ($usrinput) {
                    Write-Host "Invalid option '$usrinput'."
                }
            }
    
            $appstorun = $null
            switch ($usrinput) {
                'A' { $appstorun = $queriedapp }
                'C' { $Global:LASTEXITCODE = 1223; return }
                Default { $appstorun = ($indexapplist | Where-Object { $PSItem.Index -eq $usrinput }).App }
            }
    
        }
        else {
            $appstorun = $queriedapp
        }
    
        if ($Credential) {
            foreach ($app in $appstorun) {
                Start-Process -FilePath 'explorer.exe' -ArgumentList "shell:AppsFolder$($app.PackageFamilyName)!App" -Credential $Credential
            }
        }
        else {
            foreach ($app in $appstorun) {
                Start-Process -FilePath 'explorer.exe' -ArgumentList "shell:AppsFolder$($app.PackageFamilyName)!App"
            }
        }
    
    }
    

    answered Jan 12 at 17:13

    UncleCisco's user avatar

    UncleCiscoUncleCisco

    3521 silver badge7 bronze badges

    Like this post? Please share to your friends:
  • Operating system failure windows bug check
  • Opera скачать с официального сайта на русском для windows 7
  • Opera скачать для windows 10 x64 официальный сайт
  • Opera скачать бесплатно для windows 7 скачать торрент
  • Opera с сервисами яндекса для windows 10