Написание и запуск сценариев в интегрированной среде сценариев Windows PowerShell
В этой статье описано как создавать, редактировать, выполнять и сохранять скрипты в области скриптов.
Создание и выполнение сценариев
В области скриптов можно открывать и редактировать файлы Windows PowerShell. Сейчас нас интересуют следующие типы файлов Windows PowerShell: файлы скриптов ( .ps1 ), файлы данных скриптов ( .psd1 ) и файлы модулей скриптов ( .psm1 ). Эти типы файлов имеют цветовую подсветку синтаксиса в редакторе области сценариев. Другие стандартные файлы, которые можно открыть в области сценариев, — это файлы конфигурации ( .ps1xml ), XML-файлы и текстовые файлы.
Политика выполнения Windows PowerShell определяет, можно ли выполнять сценарии, загружать профили Windows PowerShell и файлы конфигурации. Политика выполнения по умолчанию, Restricted, запрещает выполнение сценариев и блокирует загрузку профилей. Чтобы изменить эту политику выполнения и разрешить загрузку и использование профилей, см. описание Set-ExecutionPolicy и about_Signing.
Создание файла сценария
Нажмите кнопку Создать на панели инструментов или откройте меню Файл и выберите Создать. Созданный файл появится на вкладке «Новый файл» под текущей вкладкой PowerShell. Помните, что вкладки PowerShell отображаются, только если их несколько. По умолчанию создается файл сценария ( .ps1 ), но его можно сохранить с новым именем и расширением. На одной вкладке PowerShell может быть создано несколько файлов сценариев.
Открытие существующего сценария
Нажмите кнопку Открыть. на панели инструментов или откройте меню Файл и выберите пункт Открыть. В диалоговом окне Открыть выберите файл, который требуется открыть. Открытый файл появится в новой вкладке.
Закрытие вкладки сценария
На вкладке файла, которую нужно закрыть, щелкните значок закрытия (X) или откройте меню File (Файл) и выберите Close (Закрыть).
Если файл был изменен с момента последнего сохранения, будет предложено сохранить или отменить изменения.
Отображение пути к файлу
На вкладке файла наведите курсор на его имя. Появится подсказка с полным путем к файлу сценария.
Запуск сценария
Нажмите кнопку Выполнить сценарий на панели инструментов или откройте меню Файл и выберите пункт Выполнить.
Выполнение части сценария
- Выберите часть сценария в области сценариев.
- Нажмите кнопку Выполнить выделенный фрагмент на панели инструментов или откройте меню Файл и выберите пункт Выполнить выделенный фрагмент.
Остановка выполняемого сценария
Есть несколько способов остановить выполняемый скрипт.
- На панели инструментов щелкните Остановить операцию.
- Нажмите CTRL + BREAK .
- В меню Файл выберите Остановить операцию.
Нажатие клавиш CTRL + C также сработает, если нет выделенного текста. В противном случае нажатие клавиш CTRL + C приведет к копированию выделенного текста.
Написание и редактирование текста в области сценариев
В области скриптов текст можно копировать, вырезать, вставлять, искать и заменять. Также можно отменить и повторить последнее выполненное действие. Для этого используются те же клавиши, как и во всех других приложениях Windows.
Ввод текста в области сценариев
- Установите курсор в область сценариев, щелкнув кнопкой мыши любую ее часть или выбрав пункт Перейти в область сценариев в меню Вид.
- Создайте сценарий. Цветовая подсветка синтаксиса и заполнение нажатием клавиши TAB обеспечивают более широкие возможности для редактирования в интегрированной среде скриптов Windows PowerShell.
- Подробную информацию о заполнении нажатием клавиши TAB, помогающем при вводе кода, см. в статье How to Use Tab Completion in the Script Pane and Console Pane (Использование заполнения нажатием клавиши TAB в областях сценариев и консоли).
Поиск текста в области сценариев
- Чтобы найти текст в любой части скрипта, нажмите клавиши CTRL + F или выберите Find in Script (Найти в сценарии) в меню Edit (Правка).
- Чтобы найти текст после курсора, нажмите клавишу F3 или выберите Найти следующее в сценарии в меню Правка.
- Чтобы найти текст до курсора, нажмите клавиши SHIFT + F3 или выберите Find Previous in Script (Найти предыдущее в сценарии) в меню Edit (Правка).
Поиск и замена текста в области сценариев
Нажмите клавиши CRTL + H или в меню Edit (Правка) выберите Replace in Script (Заменить в сценарии). Введите текст, который нужно найти, и замещающий текст, затем нажмите клавишу ВВОД .
Переход к определенной строке текста в области сценариев
- В области сценариев нажмите клавиши CTRL + G или выберите Go to Line (Перейти к строке) в меню Edit (Правка).
- Введите номер строки.
Копирование текста в области сценариев
- В области сценариев выделите текст, который требуется скопировать.
- Нажмите клавиши CTRL + C , щелкните значок Copy (Копировать) на панели инструментов или выберите Copy (Копировать) в меню Edit (Правка).
Вырезание текста в области сценариев
- В области сценариев выделите текст, который требуется вырезать.
- Нажмите клавиши CTRL + X , щелкните значок Cut (Вырезать) на панели инструментов или выберите Cut (Вырезать) в меню Edit (Правка).
Вставка текста в области сценариев
Нажмите клавиши CTRL + V , щелкните значок Paste (Вставить) на панели инструментов или выберите Paste (Вставить) в меню Edit (Правка).
Отмена действия в области сценариев
Нажмите клавиши CTRL + Z , щелкните значок Undo на панели инструментов или выберите Отменить в меню Правка.
Повторное выполнение действия в области сценариев
Нажмите клавиши CTRL + Y , щелкните значок Повторить на панели инструментов или выберите Повторить в меню Правка.
Сохранение сценария
Звездочка рядом с именем скрипта обозначает, что файл не был сохранен после изменения. После сохранения звездочка исчезает.
Сохранение сценария
Нажмите клавиши CTRL + S , щелкните значок Сохранить на панели инструментов или выберите Сохранить в меню Файл.
Сохранение сценария с определенным именем
- В меню Файл выберите пункт Сохранить как. Появится диалоговое окно Сохранить как.
- В поле Имя файла введите имя файла.
- В поле Тип файла выберите тип файла. Например, в поле Тип сохраняемого файла выберите «Скрипты PowerShell ( *.ps1 )».
- Нажмите Сохранить.
Сохранение сценария в кодировке ASCII
По умолчанию интегрированная среда сценариев Windows PowerShell сохраняет новые файлы скриптов ( .ps1 ), файлы данных скриптов ( .psd1 ) и файлы модулей скриптов ( .psm1 ) в кодировке Юникод (BigEndianUnicode). Чтобы сохранить сценарий в другой кодировке, например ASCII (ANSI), используйте методы Save или SaveAs объекта $psISE.CurrentFile.
Следующая команда сохраняет новый сценарий в кодировке ASCII и с именем MyScript.ps1:
$psISE.CurrentFile.SaveAs("MyScript.ps1", [System.Text.Encoding]::ASCII)
Следующая команда заменяет текущий файл сценария на файл с таким же именем, но в кодировке ASCII:
$psISE.CurrentFile.Save([System.Text.Encoding]::ASCII)
Следующая команда возвращает кодировку текущего файла:
$psISE.CurrentFile.encoding
Интегрированная среда скриптов Windows PowerShell поддерживает следующие параметры кодировки: ASCII, BigEndianUnicode, Unicode, UTF32, UTF7, UTF8 и Default. Значение параметра Default зависит от системы.
Интегрированная среда скриптов Windows PowerShell не изменяет кодировку файлов скриптов при использовании команд «Сохранить» или «Сохранить как».
См. также:
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
about_Scripts
Скрипт — это обычный текстовый файл, содержащий одну или несколько команд PowerShell. Скрипты PowerShell имеют .ps1 расширение файла.
Выполнение скрипта очень похоже на выполнение командлета. Введите путь и имя файла скрипта и используете параметры для отправки данных и задания параметров. Скрипты можно запускать на компьютере или в удаленном сеансе на другом компьютере.
Написание скрипта сохраняет команду для последующего использования и упрощает совместное использование с другими пользователями. Самое главное, это позволяет выполнять команды, просто введя путь к скрипту и имя файла. Скрипты могут быть как простые, как одна команда в файле или как сложная программа.
Скрипты имеют дополнительные функции, такие как #Requires специальный комментарий, использование параметров, поддержка разделов данных и цифровая подпись для обеспечения безопасности. Вы также можете написать разделы справки для сценариев и для любых функций в скрипте.
Запуск скрипта
Прежде чем запускать скрипт в Windows, необходимо изменить политику выполнения PowerShell по умолчанию. Политика выполнения не применяется к PowerShell, работающей на платформах, отличных от Windows.
Политика Restricted выполнения по умолчанию предотвращает выполнение всех скриптов, включая скрипты, которые записываются на локальном компьютере. Дополнительную информацию см. в разделе about_Execution_Policies.
Политика выполнения сохраняется в реестре, поэтому ее необходимо изменить только один раз на каждом компьютере.
Чтобы изменить политику выполнения, используйте следующую процедуру.
В командной строке введите:
Set-ExecutionPolicy AllSigned
Set-ExecutionPolicy RemoteSigned
Изменение действует немедленно.
Чтобы запустить скрипт, введите полное имя и полный путь к файлу скрипта.
Например, для запуска сценария Get-ServiceLog.ps1 в каталоге C:\Scripts введите:
C:\Scripts\Get-ServiceLog.ps1
Чтобы запустить скрипт в текущем каталоге, введите путь к текущему каталогу или используйте точку для представления текущего каталога, а затем путь обратной косой черты ( .\ ).
Например, чтобы запустить скрипт ServicesLog.ps1 в локальном каталоге, введите следующее:
.\Get-ServiceLog.ps1
Если скрипт имеет параметры, введите параметры и значения параметров после имени файла скрипта.
Например, следующая команда использует параметр ServiceName скрипта Get-ServiceLog для запроса журнала действий службы WinRM.
.\Get-ServiceLog.ps1 -ServiceName WinRM
В качестве функции безопасности PowerShell не запускает скрипты при двойном щелчке значка скрипта в проводник или при вводе имени скрипта без полного пути, даже если сценарий находится в текущем каталоге. Дополнительные сведения о выполнении команд и сценариев в PowerShell см. в about_Command_Precedence .
Запуск с помощью PowerShell
Начиная с PowerShell 3.0, можно запускать сценарии из проводник.
Чтобы использовать функцию «Запуск с помощью PowerShell», выполните следующие действия.
Запустите проводник, щелкните правой кнопкой мыши имя файла скрипта и выберите команду «Выполнить с помощью PowerShell».
Функция «Запуск с помощью PowerShell» предназначена для выполнения скриптов, которые не имеют необходимых параметров и не возвращают выходные данные в командную строку.
Дополнительные сведения см. в статье about_Run_With_PowerShell.
Выполнение скриптов на других компьютерах
Чтобы запустить скрипт на одном или нескольких удаленных компьютерах, используйте параметр FilePath командлета Invoke-Command .
Введите путь и имя файла скрипта в качестве значения параметра FilePath . Скрипт должен находиться на локальном компьютере или в каталоге, к которому локальный компьютер может получить доступ.
Следующая команда запускает Get-ServiceLog.ps1 скрипт на удаленных компьютерах с именем Server01 и Server02.
Invoke-Command -ComputerName Server01,Server02 -FilePath ` C:\Scripts\Get-ServiceLog.ps1
Получение справки по скриптам
Командлет Get-Help получает разделы справки для скриптов, а также командлетов и других типов команд. Чтобы получить раздел справки для скрипта, введите Get-Help путь и имя файла скрипта. Если путь к скрипту находится в Path переменной среды, можно опустить путь.
Например, чтобы получить справку по скрипту ServicesLog.ps1, введите следующее:
get-help C:\admin\scripts\ServicesLog.ps1
Создание скрипта
Скрипт может содержать любые допустимые команды PowerShell, включая отдельные команды, команды, использующие конвейер, функции и структуры управления, такие как операторы If и циклы For.
Чтобы написать скрипт, откройте новый файл в текстовом редакторе, введите команды и сохраните их в файле с допустимым именем файла с расширением .ps1 файла.
Следующий пример — это простой сценарий, который получает службы, работающие в текущей системе, и сохраняет их в файл журнала. Имя файла журнала создается с текущей даты.
$date = (get-date).dayofyear get-service | out-file "$date.log"
Чтобы создать этот скрипт, откройте текстовый редактор или редактор скриптов, введите эти команды и сохраните их в файле с именем ServiceLog.ps1 .
Параметры в скриптах
Чтобы определить параметры в скрипте, используйте инструкцию Param. Оператор Param должен быть первым оператором в скрипте, за исключением комментариев и любых #Require инструкций.
Параметры скрипта работают как параметры функции. Значения параметров доступны для всех команд в скрипте. Все функции параметров функции, включая атрибут «Параметр» и его именованные аргументы, также допустимы в скриптах.
При запуске скрипта пользователи скрипта введите параметры после имени скрипта.
В следующем примере показан Test-Remote.ps1 сценарий с параметром ComputerName . Обе функции скрипта могут получить доступ к значению параметра ComputerName .
param ($ComputerName = $(throw "ComputerName parameter is required.")) function CanPing < $error.clear() $tmp = test-connection $computername -erroraction SilentlyContinue if (!$?) else > function CanRemote < $s = new-pssession $computername -erroraction SilentlyContinue if ($s -is [System.Management.Automation.Runspaces.PSSession]) else > if (CanPing $computername)
Чтобы запустить этот скрипт, введите имя параметра после имени скрипта. Например:
C:\PS> .\test-remote.ps1 -computername Server01 Ping succeeded: Server01 Remote test failed: Server01
Дополнительные сведения об инструкции Param и параметрах функции см. в about_Functions и about_Functions_Advanced_Parameters.
Справка по написанию скриптов
Вы можете написать раздел справки для скрипта с помощью одного из двух следующих методов:
- Справка на основе комментариев для сценариев Создайте раздел справки с помощью специальных ключевое слово в комментариях. Чтобы создать справку на основе комментариев для скрипта, комментарии должны размещаться в начале или конце файла скрипта. Дополнительные сведения о справке на основе комментариев см. в about_Comment_Based_Help .
- Справка на основе XML для сценариев Создайте раздел справки на основе XML, например тип, который обычно создается для командлетов. Справка на основе XML требуется, если вы переводите разделы справки на несколько языков.
Чтобы связать скрипт с разделом справки на основе XML, используйте раздел справки. Ключевое слово примечания внешней справкиHelp. Дополнительные сведения о ключевое слово ExternalHelp см. в about_Comment_Based_Help . Дополнительные сведения о справке на основе XML см. в статье «Создание справки по командлетам».
Возврат значения выхода
По умолчанию скрипты не возвращают состояние выхода при завершении скрипта. Для возврата кода выхода из скрипта необходимо использовать exit инструкцию. По умолчанию exit инструкция возвращается 0 . Можно указать числовое значение для возврата другого состояния выхода. Код выхода, отличный от нуля, обычно сигнализирует о сбое.
В Windows любое число между [int]::MinValue и [int]::MaxValue разрешено.
В Unix разрешены только положительные числа между [byte]::MinValue (0) и [byte]::MaxValue (255). Отрицательное число в диапазоне -1 -255 через автоматически преобразуется в положительное число путем добавления 256. Например, -2 преобразуется 254 в .
В PowerShell exit инструкция задает значение переменной $LASTEXITCODE . В командной оболочке Windows (cmd.exe) инструкция выхода задает значение переменной %ERRORLEVEL% среды.
Любой аргумент, который является нечисленным или вне диапазона для конкретной платформы, преобразуется в значение 0 .
Скрипт область и точечный набор элементов
Каждый скрипт выполняется в собственных область. Функции, переменные, псевдонимы и диски, созданные в скрипте, существуют только в область скрипта. Доступ к этим элементам или их значениям нельзя получить в область, в которой выполняется скрипт.
Чтобы запустить скрипт в другой область, можно указать область, например Global или Local, или указать исходный скрипт.
Функция создания точек позволяет запускать скрипт в текущей область вместо область скрипта. При выполнении скрипта, который является точкой источника, команды в скрипте выполняются так же, как если бы вы ввели их в командной строке. Функции, переменные, псевдонимы и диски, создаваемые скриптом, создаются в область, в которой вы работаете. После выполнения скрипта можно использовать созданные элементы и получить доступ к их значениям в сеансе.
Чтобы указать исходный скрипт, введите точку (.) и пробел перед путем скрипта.
. C:\scripts\UtilityFunctions.ps1
. .\UtilityFunctions.ps1
После выполнения скрипта UtilityFunctions.ps1 функции и переменные, создаваемые скриптом, добавляются в текущую область.
Например, UtilityFunctions.ps1 скрипт создает New-Profile функцию и $ProfileName переменную.
#In UtilityFunctions.ps1 function New-Profile < Write-Host "Running New-Profile function" $profileName = split-path $profile -leaf if (test-path $profile) else >
При запуске скрипта UtilityFunctions.ps1 в собственном скрипте область New-Profile функция и $ProfileName переменная существуют только во время выполнения скрипта. Когда скрипт завершает работу, функция и переменная удаляются, как показано в следующем примере.
C:\PS> .\UtilityFunctions.ps1 C:\PS> New-Profile The term 'new-profile' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again. At line:1 char:12 + new-profile $profileName C:\PS>
При точке источника скрипта и его запуске скрипт создает New-Profile функцию и $ProfileName переменную в сеансе в область. После выполнения скрипта можно использовать New-Profile функцию в сеансе, как показано в следующем примере.
C:\PS> . .\UtilityFunctions.ps1 C:\PS> New-Profile Directory: C:\Users\juneb\Documents\WindowsPowerShell Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 1/14/2009 3:08 PM 0 Microsoft.PowerShellISE_profile.ps1 C:\PS> $profileName Microsoft.PowerShellISE_profile.ps1
Дополнительные сведения о область см. в about_Scopes .
Скрипты в модулях
Модуль — это набор связанных ресурсов PowerShell, которые можно распределить как единицу. Модули можно использовать для упорядочивания скриптов, функций и других ресурсов. Вы также можете использовать модули для распространения кода другим пользователям и получения кода из доверенных источников.
Вы можете включить скрипты в модули или создать модуль скрипта, который является модулем, состоящим полностью или главным образом из скрипта и вспомогательных ресурсов. Модуль скрипта — это просто скрипт с расширением PSM1-файла.
Дополнительные сведения о модулях см. в about_Modules .
Другие функции скрипта
PowerShell имеет множество полезных функций, которые можно использовать в сценариях.
- #Requires — Инструкцию #Requires можно использовать для предотвращения запуска скрипта без указанных модулей или оснастки и указанной версии PowerShell. Дополнительные сведения см. в about_Requires .
- $PSCommandPath — содержит полный путь и имя выполняемого скрипта. Этот параметр действителен во всех скриптах. Эта автоматическая переменная представлена в PowerShell 3.0.
- $PSScriptRoot — содержит каталог, из которого выполняется скрипт. В PowerShell 2.0 эта переменная действительна только в модулях скриптов ( .psm1 ). Начиная с PowerShell 3.0, он действителен во всех сценариях.
- $MyInvocation — Автоматическая $MyInvocation переменная содержит сведения о текущем скрипте, включая сведения о том, как он был запущен или «вызван». Эту переменную и ее свойства можно использовать для получения сведений о скрипте во время его выполнения. Например, объект $MyInvocation . Переменная MyCommand.Path содержит путь и имя файла скрипта. $MyInvocation . Строка содержит команду, которая запустила скрипт, включая все параметры и значения. Начиная с PowerShell 3.0, имеет два новых свойства, $MyInvocation которые предоставляют сведения о скрипте, который вызвал или вызвал текущий скрипт. Значения этих свойств заполняются только в том случае, если вызывающий или вызывающий объект является скриптом.
- PSCommandPath содержит полный путь и имя скрипта, который вызвал или вызвал текущий скрипт.
- PSScriptRoot содержит каталог скрипта, который вызвал или вызвал текущий скрипт.
$PSCommandPath В отличие от и автоматических переменных, которые содержат сведения о текущем скрипте, свойства $MyInvocation PSCommandPath и $PSScriptRoot PSScriptRoot переменной содержат сведения о скрипте, который называется текущим скриптом.
См. также
- about_Command_Precedence
- about_Comment_Based_Help
- about_Execution_Policies
- about_Functions
- about_Modules
- about_Profiles
- about_Requires
- about_Run_With_PowerShell
- about_Scopes
- about_Script_Blocks
- about_Signing
- Invoke-Command
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Windows 10 Setup Script — скрипт для быстрой настройки Windows 10 после установки
Основная цель скрипта Windows 10 Setup Script — предоставить администраторам широкие возможности для настройки операционной системы: переопределить параметры конфиденциальности, удалить встроенные приложения и изменить системные настройки
Обновлено: 08.10.2021. Доступно приложение SophiApp, которое основано на проекте Windows 10 Sophia Script.
Обновлено: 25.09.2020. Только для Windows 10, версия 2004 и 20H2
- Скрипт переименован в Windows 10 Sophia Script.
- Скрипт переписан в виде модуля (около 270 функций) с файлом пресетов!
- Теперь его необходимо запуска через .\Preset.ps1
- Каждый «твик» в файле пресетов имеет соответствующую функцию для восстановления значения по умолчанию;
- Создайте свой собственный файл с пресетами!
Windows 10 Setup Script представляет собой скрипт PowerShell, который следует запускать сразу после установки свежей копии Windows 10. Основная цель скрипта — предоставить администраторам широкие возможности для настройки операционной системы. Например, скрипт позволяет переопределить параметры конфиденциальности, удалить встроенные приложения и изменить системные настройки.
Примечание
Windows 10 Setup Script предназначен для опытных пользователей и задуман для запуска сразу после установки Windows 10. Так как скрипт вносит изменения в настройки и компоненты системы, настоятельно рекомендуется создать резервную копию перед запуском скрипта.

Как использовать Windows 10 Setup Script
Перед запуском скрипта нужно подготовиться. Во-первых нужно скачать скрипт (файл с расширением .ps1) для целевой версии Windows 10. Разработчик предлагает скрипты для Windows 10 версий 1903, 1909, 2004, 20H2 и Windows 10 LTSC 1809. Тестовая версия для Windows 10, версия 21H1 находится в разработке.
Windows 10 Setup Script — это продвинутый инструмент для опытных пользователей и системных администраторов, которые хотят изменить настройки новой установки Windows 10. Перед запуском сценария требуется некоторая подготовка, чтобы убедиться, что все настроено в соответствии с потребностями.
После того, как вы скачали и распаковали нужную версию, для настройки перед запуском необходимо открыть скрипт в текстовом редакторе или Visual Studio Code с расширением PowerShell. Хотя теоретически вы можете сразу запустить скрипт и использовать все значения по умолчанию, лучше предварительно посмотреть, какие изменения он будет вносить в систему.

Если вам сложно читать сам код скрипта, то можете ознакомиться с подробными комментариями. Скрипт для Windows 10 версии 2004 содержит в общей сложности 3488 строк, и их изучение займет некоторое время, даже если вы являетесь опытным пользователем.
С полным списком модификаций вы можете ознакомиться на странице проекта в GitHub. Приведем некоторые из них:
Название Что делает Set up Privacy & Telemetry Настройка параметров конфиденциальности и телеметрии Turn off diagnostics tracking scheduled tasks Отключение запланированных заданий диагностического отслеживания Set up UI & Personalization Настройка интерфейса и персонализация Uninstall OneDrive «correctly» «Корректное» удаление OneDrive Change %TEMP% environment variable path to %SystemDrive%\Temp Изменение пути переменной среды %TEMP% на %SystemDrive%\Temp Change location of the user folders programmatically (without moving user files) within interactive menu using up/down arrows and Enter key to make a selection Изменение расположения пользовательских папок программно (без перемещения файлов пользователя) в интерактивном меню с помощью стрелок вверх/вниз и клавиши Enter Uninstall UWP apps from all accounts with exception apps list with pop-up form written in WPF Удаление приложений UWP из всех учетных записей с учетом исключений с помощью всплывающей формы, написанной на WPF Turn off Windows features Отключение функций Windows Remove Windows capabilities with pop-up form written in WPF Удаление возможностей Windows с помощью всплывающей формы, написанной на WPF Create a Windows cleaning up task in the Task Scheduler Создание задачи очистки Windows в Планировщике заданий Unpin all Start menu tiles Открепление всех плиток меню Пуск Pin shortcuts to Start menu using syspin.exe Закрепить ярлыки в меню «Пуск» с помощью syspin.exe Three shortcuts are preconfigured to be pinned: Control Panel, «old style» Devices and Printers, and Command Prompt Предварительно настроены для закрепления три ярлыка: Панель управления, «Устройства и принтеры» и Командная строка Turn on Controlled folder access and add protected folders using dialog menu Включение контролируемого доступа к папкам и добавление защищаемых папок с помощью диалогового меню Add exclusion folder from Microsoft Defender Antivirus scanning using dialog menu Добавление папки исключения для сканера антивируса Microsoft Defender с помощью диалогового меню Add exclusion file from Microsoft Defender Antivirus scanning using dialog menu Добавление файла исключения для сканера антивируса Microsoft Defender с помощью диалогового меню Refresh desktop icons, environment variables and taskbar without restarting File Explorer Обновление значков рабочего стола, переменных сред и панели задач без перезапуска проводника Используйте символ комментариев # для включения или отключения определенных настроек в скрипте. Просто поместите их перед командами, чтобы пропустить их при запуске скрипта. После внесения изменений сохраните скрипт.
Затем запустите скрипт в системе. Для этого необходимо настроить политику исключения, поскольку в противном случае Windows 10 откажется запускать скрипт.
- Откройте командную строку PowerShell с повышенными привилегиями, например путем отображения меню администратора с помощью комбинации Windows + X и выбора опции Windows PowerShell (администратор).
- Выполните команду:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
- После этого запустите сценарий PowerShell или Start.cmd от имени администратора.
- Программа может предлагать некоторые варианты выбора, например список приложений, которые нужно удалить, в зависимости от вашей конфигурации скрипта.
А вы используете инструменты для управления параметрами конфиденциальности?
Пишем программы (скрипты) в Блокноте Windows

С этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные VBS скрипты и BAT файлы, которые без проблем напишете в обычном блокноте Windows, сможете усовершенствовать по своему, потом похвастаться перед друзьями и близкими. Возможно это поднимет вам настроение и вы отлично проведете время.
Большинство похожих скриптов пишутся для удобства и автоматизации каких-либо действий на компьютере с ОС Windows. Представленные же ниже скрипты мало окажутся полезными (может мне так кажется), но они отлично подойдут для первоначального знакомства с «кодингом». Вы отлично проведете время, удивив как себя, так и знакомых чайников (не программистов), плюс это еще один хороший вариант убить время за компьютером.
- VBS — язык программирования для создания скриптов в ОС Windows, создается/редактируется в Блокноте Windows, имеет разрешение «.vbs». Думаю, продолжать не имеет смысла, ибо это мало о чем скажет, особенно новичкам. Интересующимся — статья в Википедии.
- BAT — пакетный файл, в народе просто «батник». Расширение файла «.bat». Дальше аналогично — статья в Википедии.
Данных расширений (vbs, bat) файлы создаются во всеми известном Блокноте Windows (Notepad). Для большего удобства создания скриптов рекомендуется использовать усовершенствованный (скажем так) блокнот — Notepad++. Он удобен подсветкой синтаксиса большого количества языков программирования, если вам это мало о чем говорит, то скачайте и пишите в нем — ошибок сделаете меньше в коде, ну или будет их проще найти, чем в том же мало функциональном Блокноте Windows.
Для наглядности пример (слева — Блокнот Windows, справа — Notepad++):

Приступим
Если вы уже знакомы с VBS скриптами и батниками, то скорее всего нижеследующие примеры вам будут неинтересны, если же вы новичок, то для первоначального ознакомления — то, что нужно.
Научим компьютер здороваться
- Открываем Блокнот (или Notepad Plus Plus).
- Копируем в вставляем код: Set sapi=CreateObject(«sapi.spvoice»)
sapi.Speak «Hello!» - Обязательное условие: кавычки должны быть “такими”, «ёлочки» не подойдут, скрипт не будет обрабатываться и выйдет ошибка. Вместо слова «Hello» можете написать что угодно, даже по русски, при наличии русского голосового движка.
- Дальше выбираем Файл — Сохранить как — Тип файла — Все файлы — название.vbs
- Называйте файл как хотите, но не забудьте в конце прописать расширение — .vbs (пример — Privet.vbs).
- Теперь пробуйте проверить свой скрипт — запустите файл двойным щелчок мыши.
Один нюанс: если вы прописали в кавычках слова русскими буквами, а при запуске произносится непонятно что, то у вас просто не установлен русский голосовой движок. Подробная установка и настройка голосового движка выходит за рамки нашей статьи, поэтому более подробно ознакомьтесь здесь и вновь возвращайтесь сюда.
Теперь, сделаем следующее: пропишем данный скрипт в автозагрузку, а это означает то, что при запуске компьютера вам будет произнесено написанное в программе слово (слова), если как в примере, то будет говорить — «Hello» при каждом включении компьютера. Как это сделать?
Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:
Dim vOrg, objArgs, root, key, WshShell
root = «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\»
KeyHP = «Program»
Set WshShell = WScript.CreateObject(«WScript.Shell»)
WshShell.RegWrite root+keyHP,»C:\Privet.vbs /autorun»Изменяем путь до скрипта «говорилки», вот эту строчку — C:\Privet.vbs на свою. Прописываем где у вас лежит этот скрипт и как называется. Дальше сохраняем только что созданную мини программу в блокноте и запускаем. Все, теперь компьютер будет с вами здороваться пр каждом включении.
Открыть дисковод
- Открыть блокнот. Скопировать/Вставить следующий код: Set a = CreateObject(«WMPlayer.OCX.7»)
Set b = a.CdromCollection
Set c = b.Item(0)
Set d = c.Eject - Сохранить с расширением .vbs
- Запустить скрипт и откроется дисковод.
Есть более интересная модификация данного скрипта:
Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loopВ данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.
Внимание! Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т.ч. и Kaspersky Free) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.
Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:
- Запустить диспетчер задач (комбинация клавиш Windows — Ctrl+Alt+Del).
- Перейти на вкладку «Процессы».
- Найти процесс wscript.exe — правая кнопка мыши — завершить процесс.
Игра
Интересная находка из Сети — игра на VBS. Необходимо угадать число от 0 до 100. Скрипт автоматически при запуске задает (разгадывает) число, которое вам необходимо угадать и ввести в специальном окошке, при неправильном ответе даются подсказки, например меньше или больше.

Ниже тот самый код который необходимо скопировать и вставить в блокнот, далее сохранить (расширение .vbs).
Вы также можете изменять сообщения по своему, все что написано кириллицей без проблем редактируется. Не бойтесь сломать код. Поэкспериментируйте. В случае чего заново скопируйте рабочий код отсюда.
Set y = CreateObject(«Scripting.FileSystemObject»)
Set y = Nothing
Do
a = 0
u = 0
Randomize
Number = Int((RND*99)+1)
MsgBox «Я загадал число от 1 до 100, попробуй отгадать»,64,»Угадайка»
Do
a = a + 1
c = InputBox(«Угадай число» & vbCrLf & vbCrLf & «Попытка: » & a & vbCrLf & vbCrLf & «Чтобы посмотреть результаты введите число !» & vbCrLf & vbCrLf & «Для выхода оставьте поле пустым» & vbCrLf & vbCrLf,»Угадайка»)
If c = «!» Then CreateObject(«WScript.Shell»).Run «notepad C:\Windows\Result.dll»,3,True : Exit Do
If c <> «» Then
If IsNumeric(c) = True Then
If CInt(c) < Number Then MsgBox "Нет,это не " & c & ". Я загадал число больше",64,"Угадайка"
If CInt(c) > Number Then MsgBox «Нет,это не » & c & «. Я загадал число меньше»,64,»Угадайка»
If CInt(c) = Number Then
Set y = CreateObject(«Scripting.FileSystemObject»)
MsgBox («Количество попыток: » & a)
If MsgBox («Правильно, это было число » & c & «. Начать заного?»,36,»Угадайка») = 6 Then Exit Do Else WScript.Quit
End If
Else
MsgBox «Это не число!»,16,»Угадайка»
a = a — 1
End If
Else
a = a — 1
l = MsgBox («Ты ничего не ввел. Выйти из программы?»,36,»Угадайка»)
If l = 6 Then WScript.Quit
End If
Loop
loopНу и перед тем как переходить к батникам (.BAT) воспользуемся самым полезным VBS скриптом из всех перечисленных в этой статье.
Скрипт закрывающий wscript.exe
Set TaskKill = CreateObject(«WScript.Shell»)
TaskKill.Run «TaskKill /f /im wscript.exe»По сути он делает тоже самое, что чуть выше объяснялось в диспетчере задач, как например нельзя просто взять и закрыть надоедливый скрипт открывающий-закрывающий дисковод, а запустив данный скрипт все запущенные будут закрыты. Это как клин клином вышибают.
Немного познакомились с VBS скриптами и о том как их писать в блокноте, теперь рассмотрим несколько примеров использования BAT файлов (далее — батник).
Завершение работы /Перезагрузка компьютера
Совсем простой батник состоящий всего из одной строки.
- Открываем Блокнот.
- Пишем следующий код: shutdown -s -t 1 -c -f
- Далее Файл — Сохранить как — нзвание.bat
- Обратите внимание на расширение файла, это уже не VBS скрипт, а батник, по этому в конце названия прописываем .bat (Пример compoff.bat).
- Запускаем только что созданный батник двойным щелчком мыши и компьютер выключится (Завершение работы).
Есть такой вариант кода:
shutdown -r -t 1 -c -f
Все также, прописываем в блокноте, сохраняем с расширением .bat и после запуска компьютер перезагрузится (обычная перезагрузка компьютера).
Удаление обновлений
Данный батник пригодится в том случае, если вы уже обновились до Windows 10. В чем суть? В этом батнике перечислены команды по удалению нескольких обновлений, как видно из названия — обновления телеметрии, или как раз одна из шпионских штучек системы, мы однажды уже говорили как отключить функции слежки Windows 10, в данном же случае вы просто создаете батник, в содержимое копируете код ниже и запускаете, после чего будут удалены перечисленные обновления.
@echo
echo
echo Step 1: Delete Updates Telemetry
wusa /uninstall /kb:3068708 /quiet /norestart
wusa /uninstall /kb:3022345 /quiet /norestart
wusa /uninstall /kb:3075249 /quiet /norestart
wusa /uninstall /kb:3080149 /quiet /norestartТаким образом можно удалить абсолютно любое обновление, даже назойливое KB971033 которое проверяет копию Windows 7 на подлинность.
В Интернете встречается много различных скриптов, якобы безвредных, но будьте осторожны, прежде чем пробовать непонятно какой скрипт, некоторые из них могут навредить, например — вносить изменения в реестр, а в случае каких ошибок система будет выдавать ошибки, в таком случае придется или восстанавливать реестр Windows или сделать восстановление системы.