Введение
Наборы ресурсов Windows NT и Windows 2000 поставляются с рядом программ командной строки, которые помогают администрировать системы Windows NT/2K.
Со временем я увеличил коллекцию похожих инструментов, в том числе некоторые из них, не включенные в наборы ресурсов. Эти средства отличаются тем, что они позволяют управлять как удаленными, так и локальными системами. Первым инструментом в наборе был PsList, который позволяет просматривать подробные сведения о процессах, и набор постоянно растет. Префикс «Ps» в PsList связан с тем, что стандартное средство командной строки для списка процессов UNIX называется «ps», поэтому я принял этот префикс для всех средств, чтобы связать их в набор средств с именем PsTools.
Примечание
Некоторые антивирусные сканеры сообщают, что один или несколько средств заражены вирусом «удаленного администратора». Ни один из средств PsTools не содержит вирусов, но они использовались вирусами, поэтому они запускают уведомления о вирусах.
Средства, входящие в состав пакета PsTools , которые можно скачать в виде пакета, являются следующими:
- PsExec — удаленное выполнение процессов
- PsFile — показывает файлы, открытые удаленно.
- PsGetSid — отображение идентификатора безопасности компьютера или пользователя
- PsInfo — список сведений о системе
- PsPing — измерение производительности сети
- PsKill — завершение процессов по имени или идентификатору процесса
- PsList — список подробных сведений о процессах
- PsLoggedOn — узнайте, кто вошел в систему локально и с помощью общего доступа к ресурсам (включен полный источник).
- PsLogList — записи журнала событий дампа
- PsPasswd — изменение паролей учетных записей
- PsService — просмотр и управление службами
- PsShutdown — завершает работу и при необходимости перезагружает компьютер.
- PsSuspend — приостанавливает процессы
- PsUptime — показывает, как долго система работает с момента последней перезагрузки (функции PsUptime были включены в PsInfo
Пакет загрузки PsTools содержит HTML-файл справки с полными сведениями об использовании всех средств.
PsTools Suite(5 МБ)
Выполняется в:
- Клиент: Windows 8.1 и выше
- Сервер: Windows Server 2012 и выше
- Nano Server: 2016 и более поздние версии
Установка
Ни один из этих средств не требует специальной установки. Вам даже не нужно устанавливать клиентское программное обеспечение на удаленных компьютерах, на которых они предназначены. Запустите их, введя их имя и любые необходимые параметры командной строки. Чтобы отобразить полные сведения об использовании, укажите «-? » параметр командной строки.
Если у вас есть вопросы или проблемы, посетите форум Sysinternals PsTools.
How to get information about a remote system with PSInfo
PsInfo is a tool used to retrieve information about a remote system, such as operating time, version, version of Windows, etc.
.\psinfo \\HACKWARE-SERVER -u Администратор -p Aa1
The following information about the remote system is provided in PsInfo:
- Uptime shows how many days and hours the system is running.
- Kernel Version shows the kernel of the operating system
- Product Type shows Operating System Version
- Product Version
- Kernel Build Number
- Registered Organization
- Registered Owner
- IE Version shows Internet Explorer Version
- System Root shows where the operating system is installed
- Processor shows the number of processors or threads
- Processor Speed
- Processor type shows the detailed version and processor name
- Physical memory
- Video driver shows the name of the loaded driver
Починка системы после вирусов или неумелых действий с компьютером
До всех действий избавьтесь от вирусов, например, с помощью одноразового антивируса. В противном случае толку не будет — исправленные настройки запущенный вирус снова «поломает».
Восстановление запуска программ
Если вирус заблокировал запуск каких-либо программ, то AVZ вам поможет. Конечно, надо еще запустить сам AVZ, но это довольно легко:
Сначала идем в Панель управления — ставим любой вид просмотра, кроме Категории — Параметры папок — Вид — снять галку с Скрывать расширения для зарегистрированных типов файлов — OK. Теперь у каждого файла видно расширение — несколько символов после последней точки в имени. У программ это обычно .exe и .com. Чтобы запустить антивирус AVZ на компьютере, где запрещен запуск программ, переименуйте расширение в cmd или pif:
Смена расширения файла
Надо отметить пункты:
1. Восстановление параметров запуска .exe, .com, .pif файлов (собственно, решает проблему запуска программ)
6. Удаление всех Policies (ограничений) текущего пользователя (в некоторых редких случаях этот пункт также помогает решить проблему запуска программ, если вирус попался очень вредный)
9. Удаление отладчиков системных процессов (очень желательно отметить и этот пункт, потому что даже если вы проверили систему антивирусом, от вируса что-то могло остаться. Также помогает в случае, если Рабочий стол не появляется при запуске системы)
Нажимаем кнопку Выполнить отмеченные операции, подтверждаем действие, появляется окно с текстом «Восстановление системы выполнено». После остается перезагрузить компьютер — проблема с запуском программ будет решена!
Восстановление запуска Рабочего стола
Достаточно частая проблема — при запуске системы не появляется Рабочий стол.
Запустить Рабочий стол можно так: нажимаем Ctrl+Alt+Del, запускаем Диспетчер задач, там нажимаем Файл — Новая задача (Выполнить…) — вводим explorer.exe:
Нажимаем кнопку ОК — Рабочий стол запустится. Но это только временное решение проблемы — при следующем включении компьютера придется все повторить заново.
Чтобы не делать так каждый раз, надо восстановить ключ запуска программы explorer («Проводник», который отвечает за стандартный просмотр содержимого папок и работу Рабочего стола). В AVZ нажимаем Файл — Восстановление системы и отмечаем пункт 16. Восстановление ключа запуска explorer:
Нажимаем кнопку Выполнить отмеченные операции, подтверждаем действие, нажимаем OK. Теперь при запуске компьютера рабочий стол будет запускаться нормально.
Разблокировка Диспетчера задач и Редактора реестра
Если вирус заблокировал запуск двух вышеупомянутых программ, через окно Восстановление системы программы AVZ можно запрет убрать. Просто отметьте два пункта:
11. Разблокировка диспетчера задач
17. Разблокировка редактора реестра
И нажмите Выполнить отмеченные операции.
Проблемы с интернетом (не открываются сайты Вконтакте, Одноклассники и сайты антивирусов)
2. Сброс настроек префиксов протоколов Internet Explorer на стандартные (помогает, если адреса в Internet Explorer сами подменяются на другие)
3. Восстановление стартовой страницы Internet Explorer (помогает в случае, если при запуске Internet Explorer появляется надоедливая страница, не убираемая через стандартные настройки).
4. Сброс настроек поиска Internet Explorer на стандартные (помогает, если поиск в Internet Explorer работает через какой-то «левый» сайт)
13. Очистка файла Hosts (симптомы измененного файла hosts: отсутствует доступ к популярным сайтам Вконтакте, Одноклассники и т.д., антивирус не обновляется, нельзя зайти на сайты антивирусов)
Также есть довольно опасные пункты, которыми следует пользоваться только в крайнем случае:
14. Автоматическое исправление настроек SPl/LSP (помогает, если после удаления вируса все сайты не открываются)
15. Сброс настроек SPI/LSP и TCP/IP (XP+) (лучше не пользоваться этим пунктом, потому что проблем он только добавляет)
18. Полное пересоздание настроек SPI (еще более неоднозначный пункт, который никогда не помогал, но проблем добавляет)
Причем пункты 14, 15, 18 работают так: применили 14, перезагрузили, проверили — если сайты по-прежнему не открываются, применяем следующий, перезагружаем, проверяем и т.д. Еще один важный момент: ошибки, препятствующие подключению к интернету, они не исправят!
Пункты 2, 3, 4, 13 не требуют перезагрузки и в целом безопасны. Обычно очистки файла hosts хватает, чтобы вернуть доступ к сайтам.
Чтобы узнать значение всех пунктов в окне «Восстановление системы», откройте это окно и нажмите F1 на клавиатуре. Встроенная справка AVZ довольно подробна.
Столбцы Process Monitor
Как выполнять команд в pssession
Воспользовавшись PSSession, можно запустить серию удаленных команд, которые будут иметь одно общее окружение. И соответственно иметь общий доступ к таким данным, как функции, псевдонимы и значения переменных. Для запуска команды в PSSession, используется параметр Session в командлете Invoke-Command.
Например, следующая команда использует командлет Invoke-Command для выполнения командлета Get-Process в сеансах PSSession $s на компьютерах Server01 и Server02. Команда сохраняет процессы в переменной $р в каждом из сеансов PSSession.
Так как PSSession использует постоянное подключение, вы можете запустить другую команду в той же сессии PSSession, в которой уже задана переменная $р. Следующая команда подсчитывает количество процессов, сохраненных в переменной $р.
Что нужно для psexec
Для работы PsExec на удалённом компьютере не требуется никакого программного обеспечения — то есть на компьютере, которым вы будете управлять, не нужно устанавливать никакую клиентскую часть. Но нужно соблюдение некоторых условий, чтобы PsExec работала, поэтому если первая попытка не удалась, то проверьте следующие требования.
1. На обеих машинах, т.е. удалённом компьютере (которым будем управлять) и локальном компьютере (с которого будем управлять), должен быть включён общий доступ к файлам и принтерам. Для их включения смотрите статью «SMB: настройка общей сетевой папки в Windows».
Серия уроков по пакету утилит SysInternals
FindLinks находит жесткие ссылки на файлы
Эта небольшая утилита находит все жесткие ссылки, указывающие на файл. Жесткие ссылки отличаются от символических ссылок тем, что удаление одной жесткой ссылки фактически не удаляет файл, если есть более жесткие ссылки на этот файл, он просто удаляет его, пока вы не удалите все жесткие ссылки. После удаления окончательной жесткой ссылки файл будет удален.
Заметка: это действительно может быть интересным способом убедиться, что конкретный файл не удаляется кем-то, у которого есть привычка удалять файлы. Просто создайте жесткую ссылку на все файлы, которые вы не хотите потерять.
В любом случае вы можете легко использовать эту команду:
Единственная проблема заключается в том, что Windows 7 и 8 имеют встроенную команду, которая делает то же самое. Вместо этого используйте это:
Замечания:Всегда лучше научиться использовать встроенный материал, когда это возможно, потому что вы никогда не знаете, когда вам нужно что-то делать на чужом компьютере, когда у вас нет своего инструментария.
Как включить учётную запись администратора
В моих тестах на последних Windows 10 и Windows Server 2019 команда PsExec работает только с учётной записью Администратор. Поэтому в этом разделе описано, как активировать пользователя Администратор, который по умолчанию присутствует в Windows, но в обычных, не серверных версиях, этот пользователь отключён.
Пользователя Администратор должен быть активен только на удалённом компьютере, где будут выполняться команды с помощью PsExec. На локальном компьютере учётная запись Администратор не требуется.
1. Нажмите клавиши Win+r, чтобы открыть окно запуска команды.
2. Введите lusrmgr.msc и нажмите Enter.
3. Откройте Пользователи.
4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.
5. Снимите флажок «Отключить учётную запись» и нажмите ОК.
6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».
7. Укажите пароль для учётной записи администратора и нажмите «ОК».
Disk2vhd превращает ПК в виртуальные жесткие диски
Эта утилита создает клон жесткого диска вашего компьютера во время его работы и объединяет все его в файл виртуального жесткого диска, который можно использовать на виртуальной машине. И это происходит во время работы ПК.
Правильно, вы можете создать виртуальную машину вашего жесткого диска во время работы вашего компьютера. Это также может быть очень полезно для сценариев, в которых вы хотите провести криминалистический анализ машины, но на своем собственном компьютере — вы можете просто создать клон, а затем загрузить его как виртуальную машину.
Опция для Vhdx сообщает Disk2vhd использовать более новый формат файла VHDX вместо формата файла VHD, который имел ряд ограничений. По умолчанию Disk2vhd собирается создавать отдельные файлы для каждого физического диска, но помещает разделы в один и тот же файл. Если вы просто планируете прикреплять этот файл VHD к другой виртуальной машине или даже просто монтировать на обычном компьютере под управлением Windows, вы можете снять отметки с разделов, которые вам не нужны в списке. Если вы планируете выпустить виртуальную машину, вы должны, вероятно, оставить все проверенным.
Выходной файл VHD можно фактически разместить на том же диске, на котором вы делаете копию, но мы рекомендуем использовать второй диск, если это возможно, просто чтобы все ускорилось.
Замечания о переполнении буфера
Как запустить команду на удалённой системе
Основное использование команды PsExec — это просто запуск команды в удалённой системе. Чтобы запустить команду в удалённой системе, мы должны указать имя пользователя и пароль вместе с командой для запуска на удалённом компьютере.
Общий вид команды для запуска на удалённой системе:
.psexec \КОМПЬЮТЕР -u Администратор -p ПАРОЛЬ КОМАНДА АРГУМЕНТЫ КОМАНДЫ
В этой команде:
Пример выполнения команды ipconfig на удалённом компьютере \hackware-server от имени пользователя Администратор с паролем Aa1:
.psexec \HACKWARE-SERVER -u Администратор -p Aa1 ipconfig
Как мы видим, команда выполняется в удалённой системе без проблем.
У удалённого компьютера HACKWARE-SERVER IP адресом является 192.168.0.53, поэтому следующая команда эквивалентна предыдущей:
.psexec \192.168.0.53 -u Администратор -p Aa1 ipconfig
Обратите внимание, что в Windows (в противоположность Linux), регистр букв в именах компьютеров, командах и путях не имеет значения — можно использовать буквы любого регистра в любых местах
Как получить процессов в удалённой системе с pslist
Процессы, запущенные в удалённой системе, могут быть легко перечислены с помощью команды PsList.
.pslist \HACKWARE-SERVER -u Администратор -p Aa1
Вывод предоставит следующую информацию о процессах удалённой системы.
- Name — это имя исполняемого файла
- Pid — это ID процесса, который идентифицирует процессы (то есть отделяет друг от друга, является уникальной характеристикой процессов)
- Pri является приоритетом, который влияет на производительность процесса в периоды высокой нагрузки
- Thd — это номер потока
- Hnd — это счётчик открытых файловых обработчиков
- CPU Time — это общее использование ресурсов центрального процессора
- Elapsed Time — это время от начала процесса
Как использовать Process Monitor
Как получить информацию об удалённой системе с psinfo
PsInfo — это инструмент, используемый для получения об удалённой системе информации, такой как время работы, версия, вариант Windows и т. д.
.psinfo \HACKWARE-SERVER -u Администратор -p Aa1
Следующая информация об удалённой системе предоставлена в PsInfo:
- Uptime показывает, сколько дней и часов работает система
- Kernel Version показывает ядро операционной системы
- Product Type показывает версию операционной системы
- Product Version версия продукта
- Kernel Build Number номер сборки ядра
- Registered Organization организация
- Registered Owner владелец
- IE Version показывает версию Internet Explorer
- System Root показывает, где установлена операционная система
- Processor показывает количество процессоров или потоков
- Processor Speed скорость (частота) центрального процессора
- Processor Type показывает подробную версию и имя процессора
- Physical Memory количество физической памяти
- Video Driver показывает имя загруженного драйвера
Через реестр
Модификация реестра на пользовательских машинах ― странный вариант, лишь на случай крайней необходимости. Можно использовать ветки Run или RunOnce. Подробнее о них ― в документации. Сама модификация реестра может проводиться через групповые политики или из командной строки ― например, такой командой:
В зависимости от ветки реестра, процесс будет выполняться или под пользователем, выполнившим вход в систему, или под аккаунтом SYSTEM.
Есть и другие способы, такие как правка ярлыков в папке «Автозагрузка» или добавление в ярлык к популярной программе && script.cmd, но эти методы уже из серии «можно, но не нужно».
Теперь перейдем к новым инструментам.
Способы новые или куда же без PowerShell
PowerShell, оправдывая свое название, может подключаться к удаленным компьютерам при помощи WMI, RPC и WS-Management (WSMan). Использование последнего метода требует предварительной настройки.
Командлеты, не требующие предварительной настройки, как правило, имеют параметр ComputerName, но не имеют параметра Session. Посмотреть список таких командлетов можно командой:
Для настройки WSMan в общем случае достаточно выполнить команду Enable-PSRemoting-Force. Она запустит службу удаленного управления WinRM и пропишет исключения в фаерволе ― в принципе, это можно сделать для всего домена при помощи групповых политик. Подробнее настройка описана в документации.
После того как все компьютеры будут готовы принимать запросы, мы сможем подключаться при помощи соответствующих командлетов PowerShell. Для проверки возможности подключения используется командлет Test-WSMan.
Проверка возможности подключения.
Для того чтобы выполнить определенную команду или скрипт, используется командлет Invoke-Command со следующим синтаксисом:
Где COMPUTER ― имя компьютера, COMMAND ―– имя команды, а USERNAME ― имя пользователя, если оно нужно.
Смотрим содержимое диска С удаленного компьютера.
Если же нам нужно получить полноценную консоль ― не автоматизации ради, а ради управления конкретным компьютером, ― то можно использовать командлет Enter-PSSession.
Работаем в консоли удаленного компьютера.
Напомню, что с помощью JEA можно ограничить доступные подобной сессии командлеты или дать доступ нужным без прав администратора.
Конечно, кроме встроенных средств и небольших утилит, существует множество программ для управления структурой. Помимо взрослых решений, для управления конфигурациями вроде Chef, Ansible и MS SCCM можно использовать и средства мониторинга вроде Zabbix, и даже консоль управления антивирусом Касперского.
В период гетерогенных структур хорошо бы иметь возможность унифицированного управления Windows и Linux. Это можно сделать и с помощью PowerShell, что само по себе достойно отдельной статьи ― стоит такую сделать или уже лишнее?
Кстати, поделитесь вашими способами скрытого и не очень запуска программ на удаленных компьютерах. Ну, за исключением эксплойтов.
How to run a command on a remote system
The main use of the PsExec command is simply to run the command on a remote system. To run a command on a remote system, we must provide a username and password along with the command to run on the remote computer.
General view of the command to run on a remote system:
.\psexec \\COMPUTER -u Administrator -p PASSWORD COMMAND ARGUMENTS
In this command:
- \\COMPUTER is the name of the Windows computer or its IP address on the local network
- -u Administrator – if the operating system is in a different language, then the username will also be different, for example, in Russian it is Администратор, in French it is Administrateur.
- -p PASSWORD is Administrator user password. You can skip this option, then the command will ask for a password to enter
- COMMAND is a program that must be run on a remote system. After the command, its options can go.
An example of executing the ipconfig command on a remote computer \\HACKWARE-SERVER on behalf of the Administrator user with the password Aa1:
.\psexec \\HACKWARE-SERVER -u Администратор -p Aa1 ipconfig
As we can see, the command is executed on the remote system without problems.
On the remote HACKWARE-SERVER computer, the IP address is 192.168.0.53, so the following command is equivalent to the previous:
.\psexec \\192.168.0.53 -u Администратор -p Aa1 ipconfig
Please note that on Windows (as opposed to Linux), the case of letters in computer names, commands and paths does not matter – you can use letters of any case in any places.
Что такое инструменты SysInternals?
Набор инструментов SysInternals – это просто набор приложений Windows, которые можно бесплатно загрузить из их раздела на веб-сайте Microsoft Technet. Все они портативные, что означает, что вам не только не нужно устанавливать их, вы можете прикрепить их на флэш-накопитель и использовать их с любого компьютера. На самом деле, вы можете запустить их без установки через SysInternals Live (о чем мы немного поговорим).
В число этих инструментов входят такие утилиты, как Process Explorer, который во многом похож на диспетчер задач с множеством дополнительных функций, или Process Monitor, который контролирует ваш компьютер на предмет наличия файловой системы, реестра или даже сетевой активности практически любого процесса в вашей системе.
Автозапуск помогает вам справиться с процессами запуска, TCPView показывает, что подключается к ресурсам в Интернете, и есть целый набор инструментов, которые запускаются из командной строки, чтобы помочь вам иметь дело с процессами, службами и многим другим.
Большинству этих инструментов потребуется администраторский доступ на вашем компьютере, поэтому было бы разумно протестировать их на виртуальной машине или на тестовом компьютере, если вы не уверены в том, что делаете, – это некоторые сверхмощные инструменты.
Например, скажем, у вас очень медленный ПК для устранения неполадок, и вы хотите проверить все потоки для конкретного приложения, а затем вы хотите увидеть весь стек для одного из этих потоков, чтобы точно узнать, какие библиотеки и функции используются. называется. Process Explorer делает это тривиально – вы можете просто дважды щелкнуть по процессу, перейти на вкладку Threads и затем нажать кнопку Stack.
Что все это значит? Подождите до уроков 2 и 3, где мы сделаем все возможное, чтобы объяснить вам эти концепции, и, что более важно, объяснить, почему вы захотите копать так глубоко.
Использование утилит для восстановления флешек
Справится со многими проблемами, возникающими в работе USB флеш накопителей, помогут специализированные утилиты от производителей устройств. Известные производители: Transcend, Silicon Power, ADATA, Kingston и т. д., создали программное обеспечение для восстановления работоспособности своих устройств.
С помощью программам: JetFlash Online Recovery, USB Flash Drive Recovery, USB Flash Drive Online Recovery, Kingston Format Utility, решите проблемы, возникающие при работе с флешками.
Если, не помогли данные утилиты, воспользуйтесь более продвинутыми программами: HP USB Disk Storage Format Tool, AlcorMP, D-Soft Flash Doctor.
Marrying PowerShell and PsExec
Before PowerShell, all we had was PsExec. Now, we have options. PowerShell can replace PsExec in many situations but complement it in others.
Building Computer Names with PowerShell
Instead of using to find all computers in the domain, you can use PowerShell instead. By using PowerShell, you can not only pick certain computers but you don’t have to use the firewall-prone behavior.
You can use PowerShell to create a string containing all computer names separated by a comma. You can then pass that string to PsExec which will merrily process each one like you typed each one manually.
You can see below an example of using the cmdlet part of the ActiveDirectory PowerShell module.
Enabling PowerShell Remoting Remotely
If you have remote computers you’d rather use PowerShell Remoting with instead of PsExec, you can use PsExec to enable them.
By running or the winrm.cmd batch file on remote computers, you can quickly turn on PowerShell Remoting across many computers at once.
Below you can see an example of calling the winrm.cmd batch file on a remote computer running as the SYSTEM account. Because the output from that command isn’t needed, it’s silenced with .
Использование Process Explorer для поиска ключей реестра для общих настроек
Каждый в какой-то момент щелкнул флажок или изменил значение раскрывающегося списка, но задумывались ли вы когда-нибудь, где эти значения на самом деле хранятся? Многие приложения и практически все в Windows хранятся в реестре … где-то.
Для сегодняшнего примера мы собираемся использовать первый параметр на первой панели панели задач и свойств навигации, который является диалогом, который должен существовать во всех версиях Windows. Итак, теперь наша миссия — выяснить, где этот параметр хранится в реестре. Вы можете следовать этим конкретным настройкам или попробовать другие настройки в том же диалоговом окне — или в любом другом месте, для которого вы хотите найти скрытое местоположение настройки.
Первое, что вы захотите сделать, когда пытаетесь захватить набор данных, — это запустить Process Monitor, а затем изменить настройку. В этот момент вы можете остановить Process Monitor от продолжения записи событий, чтобы список не вышел из-под контроля. (Подсказка: в меню «Файл» есть опция или это третий значок слева).
Теперь, когда у нас есть тонна данных в списке, пришло время отфильтровать список, чтобы уменьшить количество строк, которые нам нужно просмотреть. Поскольку мы смотрим на значение реестра, которое изменяется, нам нужно отфильтровать по «RegSetValue», то есть то, что Windows использует, чтобы фактически установить раздел реестра на новый параметр. Используйте опцию «Включить», чтобы показать только эти события.
Теперь ваш список должен быть ограничен только разделами реестра, которые были изменены, так что пришло время взглянуть на события и попытаться выяснить, каким разделом реестра это может быть. Поскольку мы проверяем настройку «Заблокировать панель задач», и один из устанавливаемых ключей реестра включает в себя слово «Панель задач», это хорошее место для начала. Щелкните правой кнопкой мыши путь и выберите «Перейти к местоположению».
Process Monitor откроет редактор реестра и выделит ключ в списке. Теперь нам нужно убедиться, что это действительно правильный ключ, который довольно легко понять. Взгляните на настройки, а затем посмотрите на ключ. Прямо сейчас настройка включена, и клавиша установлена в 0.
Поэтому измените настройку, нажмите Применить в диалоговом окне, а затем используйте клавишу F5, чтобы обновить окно редактора реестра. В нашем случае мы определенно выбрали правильную настройку, поэтому теперь вы можете видеть, что значение TaskbarSizeMove установлено в 1.
Если вы не выбрали правильное значение, вы не увидите изменений при повторной проверке настроек. Так что иди и найди следующий логический, и начни сначала.
Создаём основное окно и указываем название приложения
После импорта библиотеки в Python загрузим её методы:
Первая строка позволяет нам загрузить все методы Tkinter и использовать их в коде без ссылки на их наименование. Второй строкой мы явно импортируем метод messagebox, который будем использовать для вывода всплывающего окна с результатом. Это удобно, так как метод потребуется нам несколько раз.
Теперь создадим окно нашего приложения. Для этого воспользуемся модулем Tk. Приложение назовём «Калькулятор индекса массы тела (ИМТ)»:
После запуска кода ничего не произойдёт. Это не ошибка. На самом деле код выполнился и окно закрылось. Необходимо явно указать, что окно приложения не должно закрываться до тех пор, пока пользователь сам не сделает этого. Для этого к коду добавим функцию window.mainloop (), указывающую на запуск цикла событий:
Запустив код, увидим экран приложения:
Скриншот: Tkinter / Skillbox Media
Мы не указали размер окна, поэтому название приложения не помещается в него полностью. Исправим это с помощью метода geometry:
Теперь название приложения видно полностью:
Способы вызвать командную строку от имени системы
Я очень давно занимаюсь системным администрированием и уяснил давно принцип, если у вас есть права локального администратора, то вы можете все. Обойти любые ограничения и политики. Напоминаю. что я для тестирования развернул агента StaffCop, это такая программа для слежки, которую используют всякие шарашкины конторы. Агент по умолчанию запрещает выключение службы и изменение ее типа. Выглядит, это вот таким образом. Служба работает, имеет имя StaffCop Scheduler, но вот сделать с ней ничего не получается, все не активно.
https://download.sysinternals.com/files/PSTools.zip
Далее вам необходимо распаковать zip архив, в результате чего будет вот такой список утилит.
Теперь когда подготовительный этап готов, то можно продолжать. Откройте обязательно командную строку от имени администратора и введите команду:
cd путь до вашей папки с утилитой PsExec.exe
Мой пример: cd C:\Дистрибутивы\PSTools
Командой dir я проверил, что это та папка и я вижу нужные мне утилиты PsExec.exe или PsExec64.exe.
Последним шагом мы текущее окно командной строки из под текущего пользователя перезапустим от имени Local System. Пишем:
PsExec64.exe -i -s cmd.exe или PsExec -i -s cmd.exe
В итоге я вижу, что у меня открылось новое окно командной строки и оно уже работает в контексте «C:\Windows\system32>», это и означает учетную запись Local System (Системная учетная запись)
Теперь давайте из под нее попробуем остановить нашу службу StaffCop Scheduler. Для этого есть ряд команд:
net stop «StaffCop Scheduler»
или
sc stop Scheduler
Далее вам необходимо изменить тип запуска и поменять с автоматического на отключена. Для этого пишем команду:
sc config Scheduler start= disabled
Как видим все успешно отработало. Если посмотреть оснастку «Службы», то видим вот такую картину.
Так, что имея права локального администратора и утилиту PsExec.exe, можно делать что угодно. Надеюсь, что вы теперь будите чаще вызывать окно командной строки от имени учетной записи системы. Давайте с вами напишем небольшой батник, который будет из ярлыка вызывать cmd от имени Local System. Создадим тестовый файл, поменяем ему сразу расширение с txt на cmd и откроем его текстовым редактором. Пропишем код:
cmd.exe && cd C:\Дистрибутивы\PSTools\ && psexec -i -s cmd.exe
Щелкаем по файлу правым кликом и выбираем пункт «Запуск от имени администратора». В результате чего у вас сразу будет запущено окно cmd с правами учетной записи SYSTEM. Проверить, это можно введя команду whoami. Ответ NT AUTORITY\СИСТЕМА.
Если нужно запустить удаленно командную строку от имени NT AUTORITY\СИСТЕМА, то выполните такую конструкцию
psexec -s \\имя компьютера cmd.exe
На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Защищенный носитель – разблокировка через реестр
- Вызовите Редактор реестра. Достаточно нажать клавиши Win + R , введите команду regedit и подтвердите выбор кнопкой Enter .
Затем перейдите в раздел КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlStorageDevicePolicies в дереве слева.
Дважды щелкните параметр WriteProtect в правой панели окна. Изменить цифру 1 в поле Данные значения на 0. Закройте Редактор реестра и перезапустите Windows.
Cнова вставьте флешку в USB-порт. Теперь вы можете отформатировать его обычным образом, и поэтому, нажав на его значок правой кнопкой мыши в окне Проводника, выберите пункт Форматировать.
Если в рамках раздела Control нет подраздела «StorageDevicePolicies», создайте его, щелкнув правой кнопкой мыши и выберите пункт Создать → Раздел. Убедитесь, что правильно указали имя. Выберите созданный раздел правой кнопкой мыши, выберите пункт Создать → параметр DWORD. Присвойте новому значению имя WriteProtect и назначьте ему цифру 0 в поле Данные значения. Подтвердите кнопкой ОК , закройте Редактор реестра и перезагрузите систему.
Если описанный метод окажется неэффективным, попробуйте выполнить следующий совет.
Как запустить приложение с графическим интерфейсом на удалённой системе
Операционные системы Windows предоставляют по умолчанию графический интерфейс. PsExec можно использовать для открытия приложения с графическим интерфейсом на удалённой системе в указанной пользовательской консоли. Пользовательская консоль просто означает рабочий стол пользователя.
В этом примере мы запустим notepad.exe на удаленной системе. Пользователь удаленного системного администратора может взаимодействовать с этим блокнотом. То есть программа откроется на удалённой системе, как-либо взаимодействовать с ней на локальной системе не получится.
.psexec \HACKWARE-SERVER -u Администратор -p Aa1 -i notepad.exe
Поскольку используется опция -i, программа откроется в интерактивном режиме, что означает, что она фактически запустится на экране удалённого компьютера. Если бы -i была опущена в вышеупомянутой команде, то команда выполнялась бы в скрытом режиме, что означает не показывать какие-либо диалоговые окна или другие окна.
Мы получим нашу локальную оболочку после того, как удалённый пользователь закроет блокнот. После закрытия код выхода будет напечатан в консоли psexec.
История искусственного интеллекта
Как запустить команду как пользователь system
При выполнении команд в удалённой системе привилегии и владелец процесса будут предоставлены пользователем. Если нам нужно изменить владельца удалённых команд на пользователя SYSTEM, мы указываем опцию -s.
В этом примере мы будем использовать regedit.exe:
.psexec \HACKWARE-SERVER -u Администратор -p Aa1 -i -s regedit.exe
Обратите внимание, что если на локальном компьютере нужно запустить программу с привилегиями SYSTEM (это намного более высокий привилегии, чем Администратор), то psexec также поможет. Например, чтобы получить доступ к разделам реестра Windows HKEY_LOCAL_MACHINESAMSAM достаточно выполнить команду:
psexec -s -i regedit.exe