Политика тестирования и мониторинг нарушений
Политика безопасности контента предоставляет мощные функциональные возможности для контроля источников контента и поведения страниц. Однако это также означает, что одна неправильно настроенная директива может сделать сайт частично или полностью недоступным для посетителей, поэтому вам нужен способ безопасного тестирования директив.
Прежде чем начать работу с директивами CSP, вы можете использовать заголовок Content-Security-Policy-Report-Only вместо Content-Security-Policy. В режиме report-only браузер будет отслеживать политику и сообщать о нарушениях, но фактически не применяет ограничения. Используйте директиву report-uri, чтобы сообщить браузеру, где он должен публиковать отчеты о нарушениях в формате JSON. Это может быть любой локальный или внешний URI, например:
Обратите внимание, что вы можете комбинировать заголовки Content-Security-Policy-Report-Only и Content-Security-Policy, чтобы протестировать новую политику, при этом применяя существующую. После того, как политика активна, вы можете использовать ту же директиву report-uri для получения подробных отчетов о нарушениях политики
Каждый отчет JSON начинается с атрибута csp-report и выглядит примерно так:
После того, как политика активна, вы можете использовать ту же директиву report-uri для получения подробных отчетов о нарушениях политики. Каждый отчет JSON начинается с атрибута csp-report и выглядит примерно так:
Как видите, отчеты предоставляют информацию о каждом нарушении политики, включая заблокированный URI и нарушенную директиву. Это значительно упрощает устранение неполадок, особенно для политик с сотнями директив и значений.
Как я могу запустить файл Jar в Windows 10?
- Добавить Java в Windows
- Откройте Jar-файл с помощью бинарного файла Java (TM) Platform SE
- Запустите файл JAR из командной строки Windows
- Добавить сторонний Jar Executor в Windows
- Загрузите этот инструмент, мы настоятельно рекомендуем
1. Добавить Java в Windows
Главное, что вам нужно сделать заранее – это установить Java. Без этого Java-приложения не будут работать в Windows. Вот как вы можете установить или обновить Java в Windows 10:
- Сначала откройте командную строку (Admin), нажав комбинацию клавиш Win + R и введя «cmd» в подсказке.
- Затем введите «java -version» в командной строке и нажмите Enter. Затем он предоставит дополнительную информацию о вашей версии Java, как показано ниже.
- Текущая версия Java – Версия 8, обновление 131 . Если у вас нет Java или самой последней версии, вы можете добавить Версию 8 в Windows, нажав кнопку Бесплатная загрузка Java на этой странице веб-сайта.
- Запустите мастер установки Java ниже, чтобы добавить Java 8 в Windows. Затем откройте браузер и убедитесь, что Java работает.
Подробнее о том, как добавить последнюю версию Java в Windows 10, читайте в этой обновленной статье.
2. Откройте файл Jar с двоичным файлом Java (TM) Platform SE
- В последней версии Java теперь вы можете запускать файлы Jar. Откройте проводник и папку с файлом, который вам нужен для запуска.
- Вы должны щелкнуть правой кнопкой мыши файл Jar и выбрать Открыть с помощью в контекстном меню.
- Нажмите Выберите другое приложение , а затем выберите, чтобы открыть его с помощью бинарного файла Java (TM) Platform SE .
- Установите флажок Всегда использовать это приложение, чтобы открывать файлы Jar .
- Нажмите кнопку ОК , чтобы закрыть меню.
- Теперь вы можете запустить выбранный Jar, и все другие файлы Jar также будут связаны с Java.
Epic guide alert! Больше нет проблем с Проводником. Исправьте их все с помощью этого обширного руководства!
3. Запустите файл Jar из командной строки Windows
- Кроме того, вы можете запустить Jar из командной строки. Нажмите клавишу Win + горячую клавишу X и выберите Командная строка (Администратор) , чтобы открыть ее как администратор.
- Затем введите java j -jar c: pathtojarfile.jar ’в CP и нажмите Enter. Замените c: pathtojarfile.jar на фактический путь и заголовок файла Jar, который вам нужно запустить в Windows.
Кроме того, вы можете сначала открыть папку с Jar в командной строке, введя «cd /», а затем каталог. Затем вы можете ввести «java -jar file.jar» без указания пути к папке.
Это откроет исполняемый файл Jar, если он содержит файл манифеста для указания точки входа приложения. (Разработчики должны были уже включить это в архив.)
Если вы разрабатываете свои собственные программы на Java, вам необходимо преобразовать Jar в исполняемый формат.
Если у вас возникли проблемы с доступом к командной строке от имени администратора, вам лучше ознакомиться с этим руководством.
4. Добавьте сторонний Jar Executor в Windows
Существуют также программы-исполнители для Windows, которые позволяют запускать файлы Jar так же, как и любые другие программы. Jarx – один из исполнителей Jar, который вы можете добавить в Windows, нажав Jarx-1.2-installer.exe на этой странице.
Нажмите на файл jarx.exe, чтобы запустить программное обеспечение, которое на самом деле не имеет графического интерфейса пользователя (кроме окна About jarx). Затем вы можете дважды щелкнуть Jar-файлы, чтобы запустить их в Windows.
Если у вас возникли проблемы с доступом к файлу JAR или у вас возникла какая-то ошибка, взгляните на это изящное руководство, чтобы найти отличные исправления.
5. Загрузите этот инструмент, мы настоятельно рекомендуем
Вы можете открывать файлы .jar и другие сотни различных форматов с помощью одного приложения. FileViewer Plus – это универсальный просмотрщик файлов для Windows, который может открывать и отображать более 300 различных типов файлов.
Новая обновленная версия имеет множество функций, которые сэкономят вам много времени при открытии, просмотре или редактировании файлов.Существует бесплатная полнофункциональная пробная версия, которую можно загрузить, так что вы можете проверить ее самостоятельно.
Загрузить сейчас FileViewer Plus 3
При этом теперь вы можете запускать файлы Jar в Windows. Если вам нужно исправить файл Jar, который не открывается, ознакомьтесь с этим руководством по Windows Report.
Если у вас есть другие предложения или вопросы, оставьте их в разделе комментариев ниже, и мы обязательно их рассмотрим.
Ошибки открытия файлов JAR
Из-за настроек безопасности в операционной системе Windows и в некоторых веб-браузерах весьма часто можно увидеть ошибки при попытке доступа к приложениям Java.
Например, «Java Application Blocked» может отображаться при попытке загрузки Java-апплета. Это можно исправить, установив уровень безопасности в апплете панели управления Java.
Если вы не можете открыть апплеты Java даже после установки JRE, сначала убедитесь, что Java включена в вашем браузере и что панель управления правильно настроена для использования Java. Затем полностью перезапустите браузер, закрыв все открытые окна, а затем снова откройте программу.
Также убедитесь, что вы используете последнюю версию Java. Если нет, вернитесь к ссылке JRE выше и установите последнюю версию.
Примеры использования PsExec.
Общий синтаксис запуска программы PsExec выглядит так:
Рассмотрим несколько примеров для понимания работы утилиты PsExec.
1. Узнаем конфигурацию сетевого интерфейса компьютера в сети.
Запускаем программу psexec с указанием ip-адреса удаленного компьютера и командой, которую нужно выполнить.
Для выполнения PsExec на компьютере от имени локального администратора удаленного компьютера необходимо запустить утилиту с параметрами: -u (имя пользователя) -p (пароль пользователя).
2. Запускаем исполняемый файл со своего компьютера на удаленный.
Параметр -c используется, чтобы скопировать файл из локальной операционной системы в удаленную и запустить его там на исполнение.
С параметром -с может применяться -f и -v, которые используются для того чтобы перезаписать копируемый файл, если он уже существует. Это может понадобиться, если были внесены изменения в файл и его нужно повторно запустить в удаленной системе.
3. Запуск PsExec на нескольких компьютерах.
Запуск psexec на двух или трех удаленных компьютерах можно выполнить путем перечисления их имен или ip-адресов.
Когда целевых компьютеров десятки, то перечислять их каждый раз через запятую неудобно. В этом случае можно воспользоватся параметром @ и указать текстовый файл, в котором будет задан список ip адресов компьютеров.
4. Подключение к командной строке Windows удаленного компьютера.
После запуска cmd поменялось окно приветствия — это означает, что в терминал загрузилась среда исполнения команд удаленного компьютера.
Сейчас мы можем полноценно работать с командной строкой удаленного компьютера. Для примера, наберем команду ipconfig, которая нам покажет конфигурацию сетевого интерфейса. Для выхода из удаленной консоли и возврата в свою среду используем команду exit.
Послесловие
Как я уже сказал и Вы сами наверное осознали – использование подобного bat файл ‘а зачастую экономит кучу времени, т.е. один раз написал и периодически запускаешь одним кликом и вместо многоминутных тычков мышкой и ползания по всем папкам получаешь автоматизированный процесс копирования.
При желании можно поставить запуск этого bat -ника в определенные дни через планировщик Windows (или другие программы позволяющие это делать) и вообще забыть о проблеме долгих ручных backup ‘ов.
Если есть какие-то вопросы или проблемы – спрашивайте. Как всегда помогу чем смогу
PS: Если мне не изменяет память, то это кусочек темы из умных админских книжек, а именно из раздела » Автоматизация администрирования «.. так что можете собой гордится
Как создать интерактивную оболочку с подключением к удалённой системе
До сих пор мы выполняли команды удалённо. После выполнения команды подключение к удалённой системе закрывалось. Это как сессионное соединение. С помощью PsExec мы можем получить удалённую оболочку или командную строку (по аналогии SSH в Linux). PsExec подключается удалённо и предоставляет нам оболочку MS-DOS. Чтобы получить удалённую оболочку, мы указываем команду cmd.exe в удалённой системе.
Но начнём с того, что посмотрим информацию о текущей системе и пользователе:
echo %USERNAME% whoami cmd /C ver
Теперь создадим шелл до другого компьютера:
.\psexec \\HACKWARE-SERVER -u Администратор -p Aa1 cmd.exe
Во-первых, обратите внимание, что изменилось приглашение командной строки (вместо PowerShell она стало CMD).
Теперь просмотрим информацию о текущем пользователе и системе:
echo %USERNAME% whoami ver
Как можно убедиться, мы теперь находимся в командной строке другого компьютера — это и есть шелл, интерактивная оболочка.
Локальным пользователем является hackware-mial\mial, а после подключения пользователь стал hackware-server\администратор. Локальная система имеет версию 10.0.18363.720, а удалённая — версию 10.0.17763.1039.
Как запустить скрипт PowerShell?
Есть несколько различных способов запуска скрипта, ниже приведены основные:
- Запустить оболочку PowerShell и в ней запустить скрипт (ввести путь до файла и имя файла, например, так: C:\Scripts\test.ps1, или перейти в папку скрипта командой cd C:\Scripts и запустить его командой .\test.ps1)Оболочку можно найти и запустить множеством способов. Один из способов — через меню «Пуск». Для Windows 7 — нужно зайти во «Все программы» — «Стандартные» — «Windows PowerShell» и запустить оболочку «Windows PowerShell». Для Windows 10 — нужно найти группу на букву «W» и в ней вы найдете «Windows PowerShell».
- Запустить «Интегрированную среду сценариев Windows PowerShell ISE» — это программа — среда разработки, позволяющая редактировать и отлаживать скрипты PowerShell, которая так же есть по-умолчанию вместе с самим PowerShell. Запустив ее, нужно просто нажать кнопку «Открыть» или зайти в меню Файл — Открыть и выбрать нужный скрипт, затем нажать F5 или кнопку «Выполнить скрипт».Найти Windows PowerShell ISE можно там же, где и оболочку PowerShell — в меню «Пуск».
- Запустить стандартную коммандную строку и в ней написать:powershell -file <имя_скрипта> (пример: powershell -file myscript.ps1)
Если вы раньше не запускали скрипты PowerShell, то скорее всего, вы получите сообщение: Не удается загрузить файл <имя_скрипта>, так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений. Связано это с тем, что из соображений безопасности и недопущения случайного выполнения вредоносного кода, все скрипты должны быть подписаны цифровой подписью.
Использование Пружинного Ботинка
5.1. Использование Maven и Defaults
Если мы используем Spring Boot с Maven, мы должны сначала подтвердить, что наш параметр упаковки установлен в jar , а не war в нашем pom.xml файл.
4.0.0spring-bootjarspring-boot
Как только мы узнаем, что это настроено, мы можем запустить пакет цель:
mvn package
5.2. Установка точки входа
Установка нашего основного класса-это то, где мы находим различия между созданием jar с обычным Java-приложением и fat jar для приложения Spring Boot . В приложении Spring Boot основной класс на самом деле является org.springframework.boot.loader.Ярлаунчер .
Хотя наш пример не является приложением Spring Boot, мы могли бы легко настроить его как консольное приложение Spring Boot .
Наш основной класс должен быть указан как начальный класс:
com.baeldung.jar.JarExample
Мы также можем использовать Gradle для создания Spring Boot fat jar .
Проксирование
Этот метод отличается от всех вышеперечисленных, и служит совсем для других задач, но не менее актуален. Когда делегирование полномочий невозможно, или предоставляет слишком большие возможности, он позволяет разрешить обычному пользователю выполнять некую команду. Требующую административных привилегий, никаким образом не выдавая дополнительных полномочий и не подставляя под угрозу пароль администратора.
Чаще всего такие проблемы люди решают с помощью утилит вроде cpau.exe. Они создают файл с зашифрованным паролем административной учетной записи, позволяющий запускать определённую программу. Проблема, однако, в том, что хоть пароль и зашифрован, перед запуском программы утилите придётся его расшифровать. А соответственно пользователь может использовать утилиту повторяющую алгоритм расшифровки пароля, и узнать его, чтобы затем использовать для запуска других программ или получения дополнительных привилегий. Практически это конечно достаточно сложно для обычных пользователей, не обладающих специальными знаниями, но, тем не менее, вполне возможно. Еще раз уточню, это не беда конкретной утилиты, а проблема такого подхода вообще.
Еще может показаться, что для решения задачи подойдет параметр /savecred утилиты runas. Но тут есть даже две проблемы. Во-первых, как и вышеописанном случае, пароль сохраняется на компьютере пользователя, а, следовательно, может быть расшифрован, хотя в случае с runas для этого и понадобятся права локального администратора. Во-вторых, runas сохраняет учетные данные, не связывая их с конкретной командой, а, следовательно, пользователь сможет запустить с завышенными правами не только ту команду, доступ к которой вы хотели ему предоставить, но и любую другую.
Чтобы избежать этих проблем, но, тем не менее, разрешить выполнение конкретной команды, можно использовать методику, которая называется «проксированием».
Работает она следующим образом. На компьютере постоянно работает сценарий с высокими привилегиями. Например, в нашем случае он будет запущен из-под учетной записи, обладающей правами администратора на файловом сервере. По сигналу пользователя он будет выполнять одну, заранее определённую команду. В этом примере – закрывать все файлы, открытые по сети.
Для организации этой системы мы поместим на сервере, например в папке c:\scripts\ командные файлы Server.cmd и Action.cmd .
Листинг №5 – Action.cmd (Windows Batch)
Server.cmd будет ждать знака от пользователя, и получив его, запускать файл с командами – Action.cmd. Разумеется, в эту папку пользователи не должны иметь никакого доступа. Автоматический запуск Server.cmd при запуске компьютера можно организовать, просто создав соответствующую задачу в планировщике:
После параметра /ru указывается учетная запись, под которой будет выполняться сценарий (в нашем случае она обладает правами администратора на сервере), так как после параметра /rp пароль не указан – он будет запрошен при создании задачи. Параметр /sc позволяет указать момент запуска сценария, в нашем случае – при включении компьютера. Ну а /tn и /tr позволяют указать имя задачи, и исполняемый файл.
Теперь, для того чтобы пользователь мог подать сценарию сигнал, мы создадим папку c:\commandShare и сделаем её доступной по сети. Доступ на запись в эту папку должен быть только у тех пользователей, которые будут запускать команду.
После этого достаточно будет поместить пользователю на рабочий стол файл Run.cmd.
Листинг №6 – Run.cmd (Windows Batch)
При его выполнении, от имени пользователя, будет создаваться файл \\server\commandShare\trigger.txt. Сценарий Server.cmd, заметив его, запустит на выполнение со своими привилегиями файл Action.cmd. Он добавит запись в файл c:\scripts\log.txt о текущем времени, а затем удалит trigger.txt .Чтобы не выполнять команду снова до следующего сигнала пользователя.
В сценарии Server.cmd используется утилита Sleep.exe, позволяющая сделать паузу в выполнении сценария на заданный в секундах промежуток времени. Она не входит в состав операционной системы, но её можно взять из набора Resource Kit Tools (см. ссылки) и просто скопировать на любой компьютер.
Меняем формат файла и пробуем его запустить
Сначала открываем » Мой компьютер «, там переходим » Сервис » – » Свойства папки » – » Вид » и снимаем галочку » Скрывать расширение для зарегистрированных типов файлов «.
Жмем » Применить » и » Ок «. Теперь мы можем менять расширение известных системе файлов, а посему направляемся к нашему файлику, жмем правой кнопкой мышки, выбираем » Переименовать » и методом печатания на клавиатуре меняем расширение с txt на bat (на вопрос системы стоит ли это делать отвечаем утвердительно).
В результате мы имеем следующую картину (в вашем случае файлик называется иначе, но имеет тот же формат):
Собственно, все, что нам остается – это запустить этот файл простым кликом по нему мышки.
Если Вы все сделали правильно, то перед Вами промелькнет консоль и по известному пути появится новая папочка с заданным заранее названием и файлами внутри скопированными из известной Вам папки, т.е картина получится примерно следующая:
Ну или несколько другая, в зависимости от того какие пути и названия папок Вы прописывали в команде. Отредактировать файлик можно сменив ему расширение обратно на .txt и открыв любым текстовым редактором.
Права доступа (Разрешения)¶
Все разделы реестра имеют права доступа или разрешения. Если у текущего пользователя нет прав на определенный раздел, то будет выведено сообщение об ошибке и запрете доступа к данному разделу.
Прав доступа может не быть по нескольким причинам:
- У текущего пользователя, залогиненного в системе, нет прав администратора;
- Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
- Владельцем раздела является системная служба TrustedInstaller.
- Владельцем раздела является системная учетная запись «Система».
В первом случае необходимо обращаться к системному администратору, чтобы он предоставил доступ к учетной записи администратора или дал администраторские права пользователю.
Во втором случае необходимо присвоить полные права и сменить владельца.
Получение полных прав и смена владельца¶
- Нажать правой кнопкой мыши на раздел и выбрать пункт «Разрешения»;
Рис. 10 – Вызов диалога работы с разрешениями
- Выделить текущего пользователя:
Рис. 11 – Открытие Полного доступа гурппам и пользователям
Если отсутствует необходимый пользователь, флажок «Полный доступ» недоступен или возникает сообщение об ошибке, переходите к пункту 3.
- В меню разрешений нажать кнопку «Дополнительно»;
Рис. 12 – Добавление или смена владельца
Примечание
Во время добавления разрешений и владельцев могут возникать сообщения об отсутсвии прав доступа. Данные сообщения можно смело игнорировать.
Перейти на вкладку «Владелец» и добавить текущего пользователя;
Рис. 13 – Выбор владельца
На вкладке «Разрешения» нажать кнопку «Добавить»;
Рис. 14 – Добавление разрешений владельцу
В поле «Введите имена выбираемых объектов» ввести имя текущей учетной записи и нажать кнопку «Проверить имена», затем нажать «ОК»;
Рис. 15 – Ввод имени выбираемых объектов
Рис. 16 – Проверка имен
Появится диалог разрешений. Поставить галочку напротив «Полный доступ» и нажать «ОК»;
Рис. 17 – Установка полного доступа текущему владельцу
После добавления владельца и назначения прав нажать клавишу F5 или «Вид → Обновить». Напротив непустого раздела появится треугольник, который означает, что у текущего пользователя есть права на доступ в него.
Рис. 18 – Доступ к подразделам
На рисунке 18 видно, что у текущего пользователя есть доступ к подразделу Keys, но нет прав на открытие разделов KeyDevices и Random. Треугольника напротив подраздела может не быть, если данный подраздел пуст.
Примечание
В Windows 8 и выше порядок работы с диалогом смены и добавления владельца немного отличается – владелец выбирается сверху.
Рис. 19 – Выбор/смена владельца в Windows 8 и выше
Совет
Ручное добавление владельцев и прав доступа удобно, если нужно получить доступ всего к нескольким разделам. Если нужно получить доступ к большому количеству разделов, то гораздо целесообразнее воспользоваться утилитой PsExec.exe. Работа с данной утилитой рассматривается в разделе Работа через утилиту PsExec.
Windows PowerShell 2.0 Remoting
Хотя вторая версия Windows PowerShell на момент написания статьи находится еще в состоянии бета тестирования, о её возможностях в области удалённого выполнения команд определённо стоит рассказать уже сейчас. Попробовать его своими руками вы можете либо загрузив предварительную версию (см. ссылки) либо в составе бета-версии Windows 7 или Windows Server 2008 R2.
Инфраструктура PowerShell Remoting основана на WinRM версии 2.0. И поэтому наследует все преимущества этой технологии, такие как шифрование передаваемых данных, и возможность работать по стандартным портам HTTP/HTTPS. Но благодаря богатым возможностям языка Windows PowerShell. И его способностям работы с объектами, мы получаем еще большие возможности. На данный момент пакет WinRM2.0 тоже находится в состоянии бета-тестирования, и доступен для загрузки только для систем Windows Vista и Windows 2008. В системы Windows 7 и Windows Server 2008R2 он будет встроен изначально, как и PowerShell 2.0.
Примечание:
Перед тем как воспользоваться всеми этими преимуществами, PowerShell Remoting необходимо активизировать, на управляющем, и управляемых компьютерах. Сделать это просто, запустив командлет (команду Windows PowerShell) Enable-PSRemoting. Причем если добавить ключ -Force то никаких подтверждений запрошено не будет. Этот командлет при необходимости вызовет winrs quickconfig, и создаст исключения в брандмауэре Windows, так что никаких дополнительных действий выполнять не нужно.
После этого вы сможете легко выполнять команды на других компьютерах используя командлет Invoke-Command (или его псевдоним icm):
Разумеется команду можно заранее поместить в переменную, а для параметра -ComputerName указать имена не одного, а сразу нескольких компьютеров. Следующая последовательность позволяет вывести версию файла Explorer.exe сразу с трех компьютеров.
Выполнить команду на удалённом компьютере
Как видно на, можно передавать сразу несколько команд в одном блоке, помещать их результаты выполнения на нескольких компьютерах в переменную, а затем обрабатывать на рабочей станции используя возможности Windows PowerShell по работе с объектами.
Впрочем возможности PowerShell Remoting на этом только начинаются. С помощью командлета Enter-PSSession вы можете войти в интерактивную сессию Windows PowerShell на удалённом компьютере. Выйти из такого сеанса можно использовав командлет Exit-PSSession, или просто exit.
Командлет New-PSSession создает сессии на удалённых компьютерах, указатели на которые можно поместить в переменную, а затем передавая её как аргумент для Invoke-Command выполнять команды сразу на нескольких компьютерах, в постоянном окружении. Пример вы можете увидеть на скриншоте, где я выполняю последовательность команд сразу на нескольких компьютерах из списка c:\computers.txt.
Выполнить команду на удалённом компьютере
Недостатки использования внедрения зависимостей
- Это несколько сложновато для изучения, а чрезмерное использование может привести к проблемам управления или другим проблемам.
- Многие возможные ошибки из процесса компиляции перемещаются в процесс выполнения программы.
- Внедрения зависимостей во фреймворках реализовано с помощью рефлексии или динамического программирования. Это может помешать использованию автоматизации разработки с помощью IDE, например, будет сложно воспользоваться функциями «найти ссылки», «показать иерархию вызовов» и будет сложно заниматься безопасно рефакторингом.
Тем не менее вы вполне можете реализовать внедрение зависимостей самостоятельно без использования сторонних библиотек и фреймворков или используя их.
Выполнение действия при выходе из оболочки
Когда пользовательская оболочка завершает работу, средство запуска оболочки может выполнять одно из четырех действий:
Действие | Описание |
---|---|
Перезапустите оболочку. | |
1 | Перезагрузите устройство. |
2 | Завершите работу устройства. |
3 | Не делать ничего. |
Важно!
Убедитесь, что приложение оболочки не завершается автоматически и не закрывается автоматически какими-либо функциями, такими как фильтр диалоговых окон, так как это может привести к бесконечному циклу выхода и перезапуску, если действие кода возврата не имеет значения, равного Nothing.
Действие кода возврата по умолчанию
Вы можете определить действие кода возврата по умолчанию для средства запуска оболочки с помощью параметра Дефаултретурнкодеактион. Если начальное значение не изменяется, действие кода возврата по умолчанию имеет значение 0 (ноль), что означает, что средство запуска оболочки перезапускает оболочку при выходе из оболочки.
Сопоставьте код выхода с действием запуска оболочки
Средство запуска оболочки может выполнять определенное действие на основе кода выхода, возвращенного оболочкой. Для любого кода выхода, возвращенного оболочкой, можно настроить действие, которое выполняет средство запуска оболочки, сопоставленное с кодом выхода с одним из действий выхода из оболочки.
Если код выхода не соответствует определенному значению, средство запуска оболочки выполняет действие кода возврата по умолчанию.
Например, оболочка может возвращать значения кода выхода-1, 0, 1 или 255 в зависимости от того, как оболочка завершает работу. Средство запуска оболочки можно настроить таким образом:
- Перезапустите устройство (1), когда оболочка возвращает код выхода Value-1.
- перезапустить оболочку (0), когда оболочка возвращает код выхода со значением 0
- не выполнять никаких действий (3), когда оболочка возвращает код выхода со значением 1
- Завершение работы устройства (2), когда оболочка возвращает код выхода value 255
Сопоставление действия пользовательского кода возврата будет выглядеть следующим образом:
Код выхода | Действие |
---|---|
-1 | 1 (перезагрузка устройства) |
0 (перезапуск оболочки) | |
1 | 3 (ничего не делать) |
255 | 2 (завершение работы устройства) |
Что такое PsExec и PsTools
На самом деле, PsExec это всего лишь один из инструментов из пакета PsTools. Программа PsExec используется чаще всего, поэтому обычно упоминается она, но в данной инструкции будут рассмотрены как примеры использования PsExec, так и примеры использования других инструментов из пакета PsTools.
Состав PsTools:
- PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
- PsFile используется для вывода списка удалённо открытых файлов
- PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
- PsInfo используется для получения подробной информации об удалённой системе
- PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
- PsList используется для детального отображения процессов в удалённой системе
- PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
- PsLogList, используемый для отображения журналов событий на удалённых системах
- PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
- PsPing используется для пинга из удалённой системы
- PsServervice используется для перечисления и управления службами Windows в удалённой системе
- PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
- PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
- PsUptime используется для отображения времени работы удалённой системы
PsInfo
Эта команда перечисляет много полезной информации о системе, включая время работы, что очень весело. Вы можете запустить его локально, чтобы протестировать его, просто набрав psinfo в командной строке, предполагая, что ваши инструменты SysInternals находятся в пути.
Если вы хотите получить гораздо больше информации из PsInfo, и я знаю, что вы это делаете, то вы можете использовать следующие параметры для добавления информации о диске (-d) и исправлений (-h), а также списка установленных приложений и их версий ( -s).
Это дает намного больше информации, даже на почти пустой виртуальной машине:
Вы также можете запустить PsInfo удаленно, добавив имя компьютера и, возможно, имя пользователя переключается … но есть одна большая проблема: он не будет работать, если не включена служба удаленного реестра. Перейдите в конец статьи, где мы поговорим о том, как включить его на удаленном компьютере.