Как запускать автоматические команды из командной строки / Powershell

Windows PowerShell 2.0[⇨] был выпущен в составе Windows 7, Windows 8 и Windows Server 2008 R2, а также Windows Server 2012 R2, как неотъемлемый компонент системы. Кроме того, вторая версия доступна и для других систем, таких, как Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1, Windows Vista SP2, Windows Server 2008[3] и Windows Server 2012.

Важные вещи, которые нужно знать, прежде чем идти дальше

Шаги, которые мы покажем вам в этом руководстве, помогут вам переустановить все стандартные приложения из Windows 10, включая Microsoft Store. Однако обратите внимание, что все, что мы показываем, протестировано и подтверждено, что оно работает только в последней версии Windows 10 с обновлением от апреля 2018 года .

Если у вас более старая версия Windows 10, вы можете выполнить шаги, которые мы показываем, чтобы вернуть встроенные приложения, но вы не сможете переустановить Microsoft Store . Единственный проверенный способ вернуть Microsoft Store в более старые версии Windows 10, а затем иметь возможность устанавливать другие приложения, — это выполнить чистую установку Windows 10.

Важные вещи, которые нужно знать, прежде чем идти дальше

Шаг 1. Откройте PowerShell от имени администратора

Прежде всего, вы должны открыть PowerShell с правами администратора. Самый быстрый способ сделать это — использовать панель поиска Cortana на панели задач. Введите «PowerShell», щелкните правой кнопкой мыши (или нажмите и удерживайте) результат Windows PowerShell, а затем нажмите или нажмите «Запуск от имени администратора».

После запуска PowerShell вы должны увидеть окно, похожее на это:

Важные вещи, которые нужно знать, прежде чем идти дальше

Шаг 2. Запустите команду переустановки и перерегистрации для встроенных приложений Windows 10

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

Get-AppxPackage -allusers | foreach {Add-AppxPackage -register «$($_.InstallLocation)\» -DisableDevelopmentMode}

Важные вещи, которые нужно знать, прежде чем идти дальше

После того, как вы ввели вышеуказанную команду в Powershell, нажмите Enter.

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

Читайте также:  Outlook: как настроить автоответчик на время отпуска?

Шаг 3. Перезагрузите устройство Windows 10

Важные вещи, которые нужно знать, прежде чем идти дальше

После завершения выполнения команды PowerShell отображает текущий путь к папке. Там не отображаются сообщения или дополнительные подтверждения. Закройте PowerShell и перезагрузите компьютер или устройство с Windows 10. При входе в систему вы должны найти все отсутствующие приложения по умолчанию для Windows 10.

Перезапуск отложен

Этот способ даёт нам на определённый промежуток отложить перезапуск, а не убирает его полностью:

Перезапуск отложен
  • Входим в «Параметры» ОС, через кнопку «Пуск»;
  • Далее, нас интересует вкладка «Обновление и безопасность»;
  • В открывшемся окошке в правой части выбираем «Приостановить обновления на 7 дн.» и далее «Дополнительные параметры»;
  • В первой вкладке можно задержать обновления на неделю, в это время ОС обновляться не будет. Когда вы кликните 2 раза по этой вкладке, она станет бесцветной и система обновляться не будет неделю. Если вы передумали, нажимаем на кнопочку «Возобновить обновления»;
  • Войдя же во вторую вкладку, опускаемся вниз и после надписи «Приостановка обновлений» нажимаем на уголок, направленный вниз, и выбираем дату, до какого числа мы желаем приостановить обновления.
Перезапуск отложен

Сейчас мы перейдём к более кардинальному способу, отменяющую перезагрузку системы на автомате.

Перезапуск отложен

Настройка автоматических команд командной строки

Метод 1: Реестр Windows

“”.

reg add «HKCU\Software\Microsoft\Command Processor» /v AutoRun ^ /t REG_EXPAND_SZ /d «%»USERPROFILE»%\» /fТеперь создайте файл в папке вашего профиля (обычно «C:\Users\USERNAME») с именем “”.Отредактируйте этот файл, указав команды, которые вы хотите запускать автоматически при запуске командной вы решите, что это больше не нужно для автоматического запуска, удалите раздел реестра. Просто запустите следующее:reg delete «HKCU\Software\Microsoft\Command Processor» /v AutoRun

Метод 2: используйте ярлыкЕсли у вас простой случай и вы не хотите использовать реестр, вы можете использовать ярлык на рабочем столе. Например, в Windows 10 вы можете найти командную строку в меню «Пуск», щелкнуть правой кнопкой мыши и выбрать «Закрепить на начальном экране». Перетащите мышью ярлык командной строки на рабочий правой кнопкой мыши только что вставленный ярлык и выберите «Свойства». Вы увидите раздел с путем к приложению. Это будет выглядеть так:C:\Users\<Your username>\Desktop\ измените это, добавив, -cmd /K а затем команду или команды по вашему выбору. Вот пример:C:\Users\<Your username>\Desktop\ -cmd /K cls Это просто откроет командную строку, а затем очистит экран. Вы также можете связывать команды, используя && их между собой. Вот еще один пример:C:\Users\<Your username>\Desktop\ -cmd /K cls && dir Это очистит экран, а затем отобразит содержимое зависимости от того, что вам нужно сделать, вам подойдет один или несколько из вышеперечисленных методов.

Читайте также:  Как сбросить пароль windows при помощи флешки

Автоматический перезапуск службы агента сервера 1С — скрипт + расписание

Добрый день. Поступила заявка от 1С-ников, что необходимо ночью перезапускать службу агента сервера 1С на 8-ке. Как многим известно, что данную службу просто так нельзя «перезапустить», иначе зависшие сессии так и остаются «висеть», ее необходимо сначала остановить, а после снова запустить. Порывшись немного в интернете, пересмотрев кучу скриптов — собрал из многообразия один, не большой, полностью рабочий, уже оттестировал его на серверах, теперь выкладываю на ваше обозрение и пользование.

Скрипт перезапуска службы агента сервера 1С

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

Собственно сам скрипт:

@echo off set logfile=»C:\!Distr\script\» echo %date% %time% >>%logfile% net stop «1C:Enterprise 8.3 Server Agent (1640)» >>%logfile% ping -n 16 localhost>Nul echo %date% %time% >>%logfile% net start «1C:Enterprise 8.3 Server Agent (1640)» >>%logfile% ping -n 301 localhost>Nul SetLocal EnableExtensions Set ProcessName=1C:Enterprise 8.3 Server Agent (1640) TaskList /FI «ImageName EQ %ProcessName%» | Find /I «%ProcessName%» If %ErrorLevel% NEQ 0 net start «1C:Enterprise 8.3 Server Agent (1640)» exit

Давайте рассмотрим его подробнее:

  1. Первым делом отключаем уведомления о выполнении, пусть это все работает в фоновом режиме
  2. Далее указываем где будет хранится наш лог-файл, куда будет писаться дата и время запуска и остановки службы (можно не писать лог, но на всякий случай пусть будет)
  3. Пишем в Лог дату и время начала остановки
  4. Останавливаем службу агента сервера, в моем случае она называется так — 1C:Enterprise 8.3 Server Agent (1640) и пишем ее статус в лог файл (ниже приведу пример что в логе появляется)
  5. Далее делаем задержку в 15 секунд, чтобы дождаться, пока служба останавливается (пинг равен примерно 1 секунде, первый проходит моментально, поэтому делаем время в секундах +1)
  6. Опять записываем в лог дату в время
  7. Запускаем службу обратно
  8. Делаем задержку в 5 минут, если служба не остановилась за 15 секунд, то она не запустится естественно, что то видимо зависло сильно и будем ждать 5 минут.
  9. Далее проверяем, запустилась ли служба и работает ли она? Если не работает, то выполняем ее повторный старт.
  10. Завершаем работу с cmd.

Все, вот такой вот получился скрипт. Я не программист, поэтому может он не совсем верный с точки зрения выполнения сценариев и программного кода, но для меня важно, чтобы это работало — а это работает! Данный скрипт у меня выполняется каждый день, каждый час с 00:00 до 7:00, но об этом позже.

Читайте также:  Как узнать версию net framework на компьютере с Windows 10

Пример лог файла:

0:00:00,10Служба «Агент сервера 1С:Предприятия 8.3 (1640)» останавливается… «Агент сервера 1С:Предприятия 8.3 (1640)» успешно 0:00:15,33Служба «Агент сервера 1С:Предприятия 8.3 (1640)» «Агент сервера 1С:Предприятия 8.3 (1640)» успешно 1:00:00,15Служба «Агент сервера 1С:Предприятия 8.3 (1640)» останавливается….Служба «Агент сервера 1С:Предприятия 8.3 (1640)» успешно 1:00:15,37Служба «Агент сервера 1С:Предприятия 8.3 (1640)» запускается.

Служба «Агент сервера 1С:Предприятия 8.3 (1640)» успешно запущена.

Настройка выполнения *.bat по расписанию

Как я уже говорил выше, выполнение скрипта у меня происходит автоматически, каждый день он запускается ежечасно с 00:00 до 7:00. Сейчас я расскажу, как это сделано у меня.

Для начала идем в «Пуск -> панель управления -> Администрирование» и запускаем там «Планировщик заданий«.

Выбираем пункт «Создать задачу«:

На вкладке «Общие» задаем имя задания, его описание и пользователя, от которого оно будет выполняться. По умолчанию там будет пользователь, под которым вы вошли в данный момент в систему.

Далее идем в закладку Триггеры и настраиваем, когда нам надо запускать задачу.  В моем случае это ежедневно выполнять в 00:00 и повторять ее каждый час в течении 7 часов.

Далее идем во вкладку Действия и создаем действие на выполнения скрипта.

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

Заключение

Заключение

Это руководство для тех, кто изучает PowerShell с нуля, поэтому здесь раскрыты только базовые понятия и приёмы. После его прочтения у вас должно появиться представление о том, что собой представляет этот инструмент. Также мы рассмотрели варианты изменения политики выполнения скриптов, что такое командлет, как они обмениваются данными с помощью конвейера и как получить свойства нужного объекта. Помните, что в случае затруднений можно воспользоваться командлетом Get-Help — это одна из самых важных команд для начинающих изучать PowerShell.

Если пользуетесь не только Windows, но и Linux, посмотрите статью про команды терминала Linux для начинающих. В ней рассказывается про работу с процессами и файлами, навигацию, каналы, xargs, awk и grep.

Перевод статьи «Windows PowerShell Scripting Tutorial for Beginners»

PowerShellДля начинающихИнструменты командной строки Поделиться

Современная техника - портал Миникод