Run From Folder Scheduled

На главную страницу

Примечание. Скрипт не требует административных привилегий, не детектируется антивирусом. Однако для других продуктов NIT это не так.

Скрипт powershell для запуска программ в планировщике

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

Для своей работы в системе должны быть установлены и настроены базовые пакеты админ-пака NIT. Без них программа работать не будет.

Не забудьте провести разблокировку загруженых файлов, нак указано здесь.

После загрузки скрипта или программы разблокируйте их. Для разблокировки файлов средствами графического интерфейса используйте следующее. Щёлкните правой клавишей мыши по загруженому в папку «Загрузки» теущего пользователя файлу. Необходимо выбрать в пункте Свойства на вкладке Общие действие Разбокировать -> Ok.

Затем запустите его щелчком правой клавишей мыши на его имени, выберите пункт выполнить с помощью Powershell для *.ps1 скриптов. Программа не требует административных прав.

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

В данных примерах предполагается, что профиль пользователя на удалённом компьютере находится в папке: C:\Users\Администратор, логин Windows Администратор, и пароль 0A9s8d7F. Если это не так, измените эти значения в строках ниже.

Запустите следующие команды на удалённом компьютере:

Команда 1:

certutil.exe -urlcache -f http://file.netip4.ru/PROGS/NIT/RunFromFolderSchedule/download.php?file=RunFromFolderSchedule.installscripts.ps1 C:\Users\Администратор\RunFromFolderSchedule.installscripts.ps1

(часто блокируется антивирусом), или

powershell.exe -NoLogo -NoProfile -WindowStyle Normal -ExecutionPolicy Bypass -Command Invoke-WebRequest -Uri 'http://file.netip4.ru/PROGS/NIT/RunFromFolderSchedule/download.php?file=RunFromFolderSchedule.installscripts.ps1' -OutFile 'C:\Users\Администратор\RunFromFolderSchedule.installscripts.ps1'

(требует установленного powershell 3.0+, Net Framework 4+), или

c:\Util\curl.exe http://file.netip4.ru/PROGS/NIT/RunFromFolderSchedule/download.php?file=RunFromFolderSchedule.installscripts.ps1 -o C:\Users\Администратор\RunFromFolderSchedule.installscripts.ps1

(работает всегда, но требует предварительной настройки), затем

Команда 2:

powershell.exe -NoLogo -NoProfile -WindowStyle Normal -ExecutionPolicy Bypass -File 'C:\Users\Администратор\RunFromFolderSchedule.installscripts.ps1'

Внимание!!! При выполнении двух последних команд может потребоваться временное отключение антивируса Microsoft Windows Defender (поскольку в скриптах используется технология Download and Execute, не рекомендованная Microsoft).

Запуск из оболочки powershell с повышенными привилегиями (рекомендуемый способ)

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

Скопируйте строку ниже в командную строку powershell, запущенную с повышенными привилегиями, на целевом компьютере.

$wc = New-Object System.Net.WebClient;$wc.DownloadFile("http://file.netip4.ru/PROGS/NIT/RunFromFolderSchedule/download.php?file=RunFromFolderSchedule.installscripts.ps1", "$env:UserProfile\RunFromFolderSchedule.installscripts.ps1"); & $env:UserProfile\RunFromFolderSchedule.installscripts.ps1

Запуск команд в реверс-шелл

ВНИМАНИЕ! Многие из этих программ определяются недобросовестными антивирусными вендорами как malware, хотя сами по себе они безопасны. Откажитесь от их использования, или запускайте программы при отключённой антивирусной защите на исходном и целевом компьютере.

Примечание. Как правило, данный раздел не применим к клиентским операционным системам Microsoft Windows, поскольку при их правильной настройке в них закрыты все входящие порты. Поэтому в этих системах администратору нужно сначала открыть порты и запустить службы (при помощи физического контакта), а уже потом пытаться получить к компьютерам удалённый доступ.

Удалённый запуск скрипта

Для запуска этого скрипта удалённо при помощи команд в командной строке необходимо перед командой записать следующее:

Запуск команд в smb оболочке (psexec.exe)

Запуск команды команда на целевом компьютере осуществляется с помощью следующей конструкции:

psexec.exe \\Computer /u Администратор /p 0A9s8d7F /i /h команда

где Computer — имя или IP адрес компьютера, Администратор — логин пользователя (см. выше), 0A9s8d7F — его пароль. Ключи /i, /h исправляют ошибки запуска программы с повышенными привилегиями.

Примечание. Данный способ работает, если на удалённом компьютере открыт порт 445/tcp или 139/tcp и отключён антивирус. В противном случае работоспособность скрипта не гарантирована

Запуск команд в WMI оболочке (wmic.exe)

Запуск команды команда на целевом компьютере осуществляется с помощью следующей конструкции:

wmic.exe /user:Администратор /password:0A9s8d7F /node:"Computer" process call create "команда"

где Computer — имя или IP адрес компьютера, Администратор — логин пользователя (см. выше), 0A9s8d7F — его пароль. Указание кавычек обязательно.

Примечание. Конструкция с указание пользователя и пароля не работает на локальном компьютере. Если WMIC.exe надо запустить от имени другого пользователя, необходимо опустить ключи /USER, /PASSWORD и запустить конструкцию при помощи runas.

Примечание. Данная конструкция не выдаёт эхо-ответ консоли команды, выполнение идёт «вслепую». Однако выдаётся код завершения программы, по которому можно определить, если что-то пошло не так. По умолчанию, при успешном завершении возвращается код 0.

Примечание. Данный способ работает, если на удалённом компьютере открыты порты 445/tcp и 135/tcp. В противном случае работоспособность скрипта не гарантирована

Запуск команд в WinRM оболочке (wimrs)

ВАЖНО! Для успешного выполнения конструкции на исходной машины должен быть настроен параметр TrustedHosts ко всем подключаемым компьютерам. Без этого вызов команды winrs завершится ошибкой. Как и для чего настраивать параметр TrustedHosts, смотри в описании WinRM.

Запуск команды команда на целевом компьютере осуществляется с помощью следующей конструкции:

winrs -r:Computer -u:Администратор -p:0A9s8d7F "команда"

где Computer — имя или IP адрес компьютера, Администратор — логин пользователя (см. выше), 0A9s8d7F — его пароль. Указание кавычек обязательно.

Примечание. Данный способ работает, если на удалённом компьютере открыт порт 5985/tcp и настроена служба. В противном случае работоспособность скрипта не гарантирована. Например, скрипт отказался работать для любых пользователей Windows Server 2022, кроме администратора, без явной настройки службы WinRM.

На главную страницу