Андрей Смирнов
Время чтения: ~25 мин.
Просмотров: 2

Windows — как принудительно запустить автоматическое обновление

Команды windows для настройки сети

  • proxycfg -? — инструмент настройки прокси по умолчанию в Windows XP/2003, WinHTTP.
  • netsh winhttp — инструмент настройки прокси по умолчанию в Windows Vista/7/2008
  • netsh interface ip show config — посмотреть конфигурацию интерфейсов
  • Настраиваем интерфейс «Local Area Connection» — IP, маска сети, шлюз:

netsh interface ip set address name=»Local Area Connection» static 192.168.0.100 255.255.255.0 192.168.0.1 1

  • netsh -c interface dump > c:\conf.txt — экспорт настроек интерфейсов
  • netsh -f c:\conf.txt — импорт настроек интерфейсов
  • netsh exec c:\conf.txt — импорт настроек интерфейсов
  • netsh interface ip set address «Ethernet» dhcp — включить dhcp
  • netsh interface ip set dns «Ethernet» static 8.8.8.8 — переключаем DNS на статику и указываем основной DNS-сервер
  • netsh interface ip set wins «Ethernet» static 8.8.8.8 — указываем Wins сервер
  • netsh interface ip add dns «Ethernet» 8.8.8.8 index=1 — задаем первичный dns
  • netsh interface ip add dns «Ethernet» 8.8.4.4 index=2 — задаем вторичный dns
  • netsh interface ip set dns «Ethernet» dhcp — получаем DNS по DHCP
  • netsh wlan show all — Отображение полной информации о беспроводных устройствах и сетях.

Получение списка служб

Узнать статус всех служб можно так:

Каждый результат выдаваемый командами в PS представляет собою объект. Этот объект содержит разные свойства и методы. Свойства — это например имя или статус. По умолчанию мы видим не все свойства. Что бы узнать какие еще свойства есть у команды нужно выполнить следующее:

Часть свойств реализована в виде ключей. Попробуем вывести сразу все свойства всех сервисов, но в таком случая вывод будет сложно читаемый:

Возможно вывести только имена, статус и тип запуска:

Или выведем информацию по одному сервису:

У сервисов есть короткое имя и отображаемое. Так мы выведем оба:

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

Не желательно указывать отображаемое имя так как язык операционных систем может быть разным и если вы выполняете командлеты удаленно, вероятно будут ошибки:

  • Cannot find any service with service name
  • Cannot find any service with display name
  • Не удается найти службу с отображаемым именем

Кроме этого есть два ключа, которые тоже поддерживают маски:

  • Include — включают поиск по какой-то маске или точному соответствию.
  • Exclude — исключает упоминание.

Можно сравнить разницу с прошлым примером:

У сервисов несколько статусов:

  • Running — запущен.
  • Stopped — остановлен.
  • Paused — приостановлен (пауза).

По каждому из них мы можем отфильтровать результат:

Кроме этого есть 3 типа запуска:

  • Automatic — автоматический запуск вместе с системой.
  • AutomaticDelayedStart — запуск после загрузки системы.
  • Manual — ручной запуск.
  • Disabled — отключенный.

Допустим, что у нас есть какая-то проблема в операционной системе и мы хотим проверить все сервисы, который автоматически запускаются при включении ОС. Для этого нам нужно использовать несколько условий, где статус не равен Running и тип запуска равен Automatic:

Службы могут быть зависимы от других и для проверки этих свойств есть два параметра:

  • DependentServices — кто зависит от этого сервиса.
  • RequiredServices — от кого зависит этот сервис.

Аналогично параметрам команды выше есть свойства DependentServices и ServicesDependedOn (RequiredServices). Они выводят одно и то же.

Есть несколько свойств, которые не выведены в параметры — это:

  • CanPauseAndContinue — можно ли приостановить работу сервиса и возобновить.
  • CanShutdown — может ли быть выключен.
  • CanStop — может ли быть полностью остановлен.

Эти свойства так же можно увидеть в GUI. В командлете ниже я использую алиас gsv (короткое имя Get-Service):

Каждая команда PS, где присутствует параметр ComuterName, может быть выполнена удаленно. Для удаленного управления в Powershell нужны дополнительные настройки, которые уже описывались в предыдущей статье. 

Имена всех компьютеров, с которых мы хотим получить имена сервисов, можно указать через запятую:

Политика установки обновлений WSUS для рабочих станций

Мы предполагаем, что обновления на клиентские рабочие станции, в отличии от серверной политики, будут устанавливаться автоматически ночью сразу после получения обновлений. Компьютеры после установки обновлений должны перезагружаться автоматически (предупреждая пользователя за 5 минут).

В данной GPO (WorkstationWSUSPolicy) мы указываем:

  • Allow Automatic Updates immediate installation (Разрешить немедленную установку автоматических обновлений): Disabled — запрет на немедленную установку обновлений при их получении;
  • Allow non-administrators to receive update notifications (Разрешить пользователям, не являющимся администраторами, получать уведомления об обновлениях): Enabled — отображать не-администраторам предупреждение о появлении новых обновлений и разрешить их ручную установку;
  • Configure Automatic Updates: Enabled.   Configure automatic updating: 4 — Auto download and schedule the install. Scheduled install day: 0 — Every day. Scheduled install time: 05:00 – при получении новых обновлений клиент скачивает в локлаьный кэш и планирует их автоматическую установку на 5:00 утра;
  • Target group name for this computer: Workstations – в консоли WSUS отнести клиента к группе Workstations;
  • No auto-restart with logged on users for scheduled automatic updates installations: Disabled — система автоматически перезагрузится через 5 минут после окончания установки обновлений;
  • Specify Intranet Microsoft update service location: Enable.  Set the intranet update service for detecting updates: http://srv-wsus.winitpro.ru:8530, Set the intranet statistics server: http://srv-wsus.winitpro.ru:8530 –адрес корпоративного WSUS сервера.

В Windows 10 1607 и выше, несмотря на то, что вы указали им получать обновления с внутреннего WSUS, все еще могут пытаться обращаться к серверам Windows Update в интернете. Эта «фича» называется Dual Scan. Для отключения получения обновлений из интернета нужно дополнительно включать политику Do not allow update deferral policies to cause scans against Windows Update (ссылка).

Совет. Чтобы улучшить «уровень пропатченности» компьютеров в организации, в обоих политиках можно настроить принудительный запуск службы обновлений (wuauserv) на клиентах. Для этого в разделе Computer Configuration -> Policies-> Windows Setings -> Security Settings -> System Services найдите службу Windows Update и задайте для нее автоматический запуск (Automatic).

RCE уязвимость CVE-2019-0708 в Remote Desktop Services

Уязвимость присутствует не в самом протоколе RDP, а в реализации службы удаленных рабочих столов (Remote Desktop Service) в старых версиях Windows. Для эксплуатации уязвимости необходим только сетевой доступ к компьютеру с подверженной версией Windows и наличие на нем включенной службы RDP (доступ к которой не должен блокироваться межсетевыми экранами). Т.е. если ваш Windows хост доступен из интернета через RDP, это означает, что уязвимость может быть эксплуатирована кем угодно. Уязвимость реализуется за счет отправки специального запроса к службе удаленного рабочего стола через RDP, преаутентфикация удаленного пользователя при этом не требуется. После реализации уязвимости BlueKeep атакующий может удаленно выполнить произвольный код на целевой системе с правами SYSTEM.

Microsoft отмечает, что есть весьма высокая вероятность появления автоматических червей, которые будут используют уязвимость в RDS для распространения в локальных сетях. Таким образом масштаб атак может достигнуть результатов червя WannaCry (использовал уязвимость в протоколе SMB CVE-2017-0144 — EternalBlue).

Поиск обновлений

wmic

Посмотреть какие обновления установлены на компьютере можно командой:

wmic qfe list

Поиск определенного обновления:

wmic qfe list | find "2998527"

Get-WmiObject

PowerShell также позволяет просмотреть установленные обновления. Сделать это можно с помощью командлета Get-WmiObject, например:

Get-WmiObject -Class win32_quickfixengineering -Filter ″HotFixID=′KB982018′″ | fl HotFixID, InstalledOn, Description, Caption

Как видите, команда несколько сложнее и требуется дополнительно отформатировать вывод, однако результат такой же, как и у утилиты wmic. Что неудивительно, так как в обоих случаях данные получаются путем обращения к WMI классу win32_quickfixengineering

Обратите внимание, что он содержит данные только об обновлениях операционной системы и ее компонентов. Получить информацию об обновлениях для других продуктов MS (Office, Exchange и т.п) таким образом не получится.

Get-SilWindowsUpdate

В Windows Server 2012 R2 имеется модуль SoftwareInventoryLogging, предназначенный для инвентаризации установленного ПО. В состав этого модуля входит командлет Get-SilWindowsUpdate, с помощью которого также можно посмотреть установленные обновления. Например:

Get-SilWindowsUpdate -ID kb3149090

Этот командлет также использует WMI запрос к классу MsftSil_WindowsUpdate. Get-SilWindowsUpdate очень прост и удобен в использовании, но к сожалению доступен он далеко не везде. Модуль SoftwareInventoryLogging присутствует только в серверных ОС начиная с Windows Server 2012 R2 с установленным обновлением KB3000850.

Microsoft Update Client Install History

Еще один вариант поиска обновлений — просмотр истории клиента обновления. Например:

$session = New-Object -ComObject ″Microsoft.Update.Session″
$searcher = $session.CreateUpdateSearcher()
$hystorycount = $searcher.GetTotalHistoryCount()
$searcher.QueryHistory(0,$HistoryCount) | where {$_.Title -match ″kb2506143″} | fl Date,Title,Description,SupportUrl

Способ (в отличие от предыдущих) достаточно громоздкий, однако позволяет найти информацию об всех обновлениях обновления (как самой ОС, так и доп. приложений). Таким образом можно найти обновления, которые были установлены с помощью системы автоматического обновления. Если обновления были загружены и установлены вручную (или с помощью каких либо пользовательских сценариев), то таким образом найти их не удастся.

Пересоздание репозитория (хранилища) WMI

В том случае, если предыдущий способ не помог, придется перейти к более «жесткому» способу восстановления работоспособности службы WMI, заключающегося в пересоздании хранилища.

WMI репозиторий (хранилище) находится в каталоге %windir%\System32\Wbem\Repository и представляет собой базу данных, в которой содержится информация о метаданных и определениях WMI классов. В некоторых случаях репозитория WMI может содержать статическую информацию классов. При повреждении репозитория WMI,  в работе службы Windows Management Instrumentation (Winmgmt) могут наблюдаться ошибки вплоть до полной невозможности ее запустить.

В том случае, если вы подозреваете, что репозиторий WMI поврежден, имейте в виду, что его пересоздание это последняя вещь, к которой нужно прибегнуть только в том случае, если никакие другие операции реанимировать WMI не помогают.

Совет. На практике бывают случаи, когда пересоздание хранилища WMI приводит к проблемам со сторонним софтом. Вызван этот эффект тем, что все записи в базе WMI обнуляются (до состояния чистой системы). Такое ПО, вероятно, придется переустанавливать в режиме восстановления.

В Windows Vista и выше проверить целостность репозитория WMI  можно с помощью команды:

winmgmt /verifyrepository

Если команда возвращает, что база данных WMI находится в неконсистентном состоянии (INCONSISTENT), стоит попробовать выполнить «мягкое» восстановление репозитория:

Winmgmt /salvagerepository

И перезапустить службу wmi:

net stop Winmgmt
net start Winmgmt

Если описанная выше команда не помогла, выполняем сброс репозитория на начальное состояние (hard reset) так:

Winmgmt /resetrepository

В том случае, если команды Winmgmt /salvagerepository и Winmgmt /resetrepository желаемого эффекта не дали, стоит попробовать выполнить «жесткое» пересоздание базы WMI вручную таким сценарием:

sc config winmgmt start= disabled

net stop winmgmt

cd %windir%\system32\wbem

winmgmt /kill

winmgmt /unregserver

winmgmt /regserver

winmgmt /resyncperf

if exist Repos_bakup rd Repos_bakup /s /q

rename Repository Repos_bakup

regsvr32 /s %systemroot%\system32\scecli.dll

regsvr32 /s %systemroot%\system32\userenv.dll

for /f %%s in ('dir /b *.dll') do regsvr32 /s %%s

for /f %%s in ('dir /b *.mof') do mofcomp %%s

for /f %%s in ('dir /b *.mfl') do mofcomp %%s

sc config winmgmt start= auto

net start winmgmt

wmiprvse /regserver

Данный скрипт полностью пересоздает хранилище WMI (старый репозитория сохраняется в каталоге Repos_bakup). После окончания работы скрипта компьютер нужно перезагрузить, после чего протестировать работу службы WMI простым запросом.

В этой статье мы собрали типовые методики позволяющие устранить неполадки в работе службы WMI и ее подсистемах.

Где скачать MSU файл обновления Windows

Microsoft изначально выпускает свои обновления и патчи в формате CAB файла. Именно в таком виде ваш компьютер получает обновления с серверов обновления Microsoft или локального сервера WSUS. Для более удобного ручного распространения отдельных обновлений клиентами через каталог обновлений Microsoft, данные CAB файлы упаковываются в специальный формат MSU (Microsoft Update Standalone Package).

Скачать MSU файлы обновлений Windows (а в некоторых случаях и CAB)и других продуктов MSFT можно в каталоге обновлений Microsoft (https://www.catalog.update.microsoft.com/). Перейдите в Microsoft Update Catalog, найдите и скачайте нужное обновление. К примеру, я хочу установить обновление безопасности для Adobe Flash Player под Windows 10 x64 1507 – KB4056887. Нажмите на кнопку Download.

Переместите скачанный файл windows10.0-kb4056887-x64_fca8a311f0495e669715ae5aa0e0d8720f945049.msu в каталог C:\temp. Переименуйте файл на более короткое имя — windows10.0-kb4056887-x64.msu

Switches

Global switches are used to set defaults for the WMIC environment. You can view the current value of the conditions set by these switches by entering the CONTEXT command.

/NAMESPACE

Namespace the alias uses typically. The default is root\cimv2.

Example: /NAMESPACE:\\root

/ROLE

Namespace WMIC typically looks in for aliases and other WMIC information.

Example: /ROLE:\\root

/NODE

Computer names, comma delimited. All commands are synchronously executed against all computers listed in this value. File names must be prefixed with &. Computer names within a file must be comma delimited or on separate lines.

/IMPLEVEL

Impersonation level.

Example: /IMPLEVEL:Anonymous

/AUTHLEVEL

Authentication level.

Example: /AUTHLEVEL:Pkt

/LOCALE

Locale.

Example: /LOCALE:MS_411

/PRIVILEGES

Enable or disable all privileges.

Example: /PRIVILEGES:ENABLE or /PRIVILEGES:DISABLE

/TRACE

Display the success or failure of all functions used to execute WMIC commands.

Example: /TRACE:ON or /TRACE:OFF

/RECORD

Records all output to an XML file. Output is also displayed at the command prompt.

Example: **/RECORD:**MyOutput.xml

/INTERACTIVE

Typically, delete commands are confirmed.

Example: /INTERACTIVE:ON or /INTERACTIVE:OFF

/FAILFAST on|off|TimeoutInMilliseconds

If ON the /NODE computers are pinged before sending WMIC commands to them. If a computer does not respond the WMIC commands are not sent to it.

Example: «/FAILFAST:ON» or «/FAILFAST:OFF»

WMIC /FAILFAST:1000

/USER

User name used by WMIC when accessing the /NODE computers or computers specified in the aliases. You are prompted for the password. A user name cannot be used with the local computer.

Example: **/USER:**JSMITH

/PASSWORD

Password used by WMIC when accessing the /NPDE computers. The password is visible at the command line.

Example: **/PASSWORD:**password

/OUTPUT

Specifies a mode for all output redirection. Output does not appear at the command line and the destination is cleared before output begins. Valid values are STDOUT, CLIPBOARD or a file name.

Example: /OUTPUT:CLIPBOARD

/APPEND

Specifies a mode for all output redirection. Output does not appear at the command line and the destination is not cleared before output begins and output is appended to the end of the current contents of the destination. Valid values are STDOUT, CLIPBOARD or a file name.

Example: /APPEND:CLIPBOARD

/AGGREGATE

Used with the LIST and GET /EVERY switch. If AGGREGATE is ON, LIST and GET display their results when all computers in the /NODE have either responded or timed out. If AGGREGATE is OFF, LIST and GET display their results as soon as they are received.

Example: /AGGREGATE:OFF or /AGGREGATE:ON

WMIC commands

  • The majority of my batch files uses WMIC’s command to read properties of the specified WMI class.
    To find out which properties are available for a specific WMI class, use a command like:
    Feel free to experiment with WMIC’s command, it won’t change any setting.
  • With WMIC’s command you can set (change) properties, unless they are read-only.
    To find out which properties are writeable for a specific WMI class, use a command like:Do not use WMIC’s command unless you are absolutely sure about the consequences.
  • With WMIC’s command you can call a WMI method for the specified class.
    To find out which methods are available for a specific WMI class use a command like:Do not use WMIC’s command unless you are absolutely sure about the consequences.

Now let’s try the following commands:

WMIC BIOS
WMIC BIOS Get Manufacturer
WMIC BIOS Get Manufacturer,Name,Version /Format:csv
WMIC BIOS Get Manufacturer,Name,Version /Format:list
WMIC BIOS Get /Format:list
WMIC BIOS Get Manufacturer,Name,Version /Format:htable

You may want to save the latter to a HTML file to view it in a browser:

WMIC /Output:bios.html BIOS Get Manufacturer,Name,Version /Format:htable
START "" "%CD%.\bios.html"

Need the result pasted in another window?

Use

Need to store the properties in variables? Try this (note the commas now being «escaped» by ˆ, carets):

FOR /F "tokens=*" %%A IN ('WMIC BIOS Get Manufacturerˆ,Nameˆ,Version /Value ˆ| FIND "="') DO (
	SET BIOS.%%A
)
SET BIOS

Try to figure out for yourself how that worked.
A hint: try the plain WMIC command, without the filtering and without the loops, and see what the output looks like…
Now prepend each of those lines with

Narrowing down the returned selection with WHERE

Often WMI queries return far too much information, so we want to narrow down the selection.
For example, the following query against my own computer returns 27 instances, even though it has only one network adapter:

WMIC Path Win32_NetworkAdapter Get
Note:If all you want to know is the number of adapters, just list the indexes only:
WQL to the rescue!

WQL or WMI Query Language allows us to get only those instances matching the conditions set by a clause.
The following modified query returns only 2 instances on my computer (it turns out the BlueTooth dongle is also considered a physical network adapter):

WMIC Path Win32_NetworkAdapter Where "PhysicalAdapter=TRUE" Get

This is pretty straightforward.
Now list only adapters manufactured by Realtek.
The following command will not work:

WMIC Path Win32_NetworkAdapter Where "Manufacturer=Realtek" Get

in this case is a string, so we need to place it in quotes, preferably without confusing them with the quotes for the entire clause.
The following commands will work:

WMIC Path Win32_NetworkAdapter Where "Manufacturer='Realtek'" Get
WMIC Path Win32_NetworkAdapter Where (Manufacturer='Realtek') Get
WMIC Path Win32_NetworkAdapter Where (Manufacturer="Realtek") Get
WMIC Path Win32_NetworkAdapter Where "Manufacturer = 'Realtek'" Get

etcetera.

Parentheses are required for more complex clauses:

WMIC Path Win32_NetworkAdapter Where ( Manufacturer = "Realtek" And PhysicalAdapter = TRUE ) Get

However, these parenthesis tend to break your loops…

A limitation of the clause is that it cannot select properties of type array.

Take a good look at WQL if you intend to use seriously.

Недостаточно оперативной памяти — что делать?

Случаются ситуации, что оперативной памяти начинает не хватать, а купить дополнительные модули нет возможности. Если сообщение о том, что оперативки недостаточно, появляется в Windows, это информирует: системе не хватает RAM, и она начинает использовать виртуальную память. Как настроить оперативную память? Сначала убедиться, что система подвисает не из-за множества открытых окон. Как увеличить оперативную память без модулей:

  1. Открыть настройки параметров оперативки, посмотреть, всем ли из них присвоили значение «авто». Если это так, некоторые надо перестроить вручную.
  2. Выбрать отметку Memory frequency – это частота, на которой работает ПК, в ней — Manual. Установить частоту работы ОЗУ, сделав её немного выше автоматического.
  3. Можно еще добавить скорость выдачи сигнала чтения, включив эту функцию в Speculative Leadoff через параметр Enabled. Повысит быстроту действия памяти включение Turn-Around Insertion..

Что занимает оперативную память?

Есть несколько программ, которые «съедают» наибольшее количество оперативной памяти. Чтобы снизить потребление оперативной памяти, стоит от некоторых из них отказаться или заменить на менее ёмкие. В этом списке:

  1. Антивирусы любой версии.
  2. Графические редакторы.
  3. Видео-монтаж.

Как очистить оперативную память?

Проверенным способом освободить оперативную память является чистка лишних файлов и программ. Самый простой способ:

  1. Перезагрузить компьютер, это убирает лишнее из временной памяти, если ПК вдруг начал зависать.
  2. Через «Диспетчер задач» отключить программы, которыми никто не пользуется на данном этапе работы. Схема действий:
    • нажав клавиши Alt+Ctrl+Del, открыть «Диспетчер задач»; открыть закладку «Приложения»;
    • в ней — найти ПО, напротив которого будет стоять надпись «Не отвечает»;
    • выделив строку, нажать «Завершить приложение».
  3. Отключить программы, которые запускаются автоматически вместе с Windows. Пошаговая инструкция:
  • нажать «Пуск», кликнуть на «Все программы».
  • найти папку «Автозагрузка».
  • в этой папке удалить все ярлыки.

Как разогнать оперативную память?

Еще одним способом изменить объем оперативной памяти остается ее разгон. Что такое оперативная память при разгоне и как это сделать? Речь идет об аппаратных компонентах ПК, такая оптимизация оперативной памяти стала в современном мире своеобразным хобби. Есть несколько вариантов разгона:

  1. Через повышение тактовой частоты модулей ОЗУ.
  2. С помощью изменения «таймингов».
  3. Через изменение значений, которые затрагивают электронапряжение в микросхеме.

Самый ходовой метод — через настройки тактовой частоты, схема действий:

  1. Перезапустить компьютер. Нажать на клавишу вызова меню настроек, как правило, это F10, F12, F11, F8, Delete, Escape.
  2. Найти опцию «DRAM Configuration», она находится в разделе «Advanced Chipset Features».
  3. Открыть окно «Частота DRAM», изменить показатели на несколько единиц меньше.
  4. Открыть меню «Memory Frequency» и выставить частоту немного выше той, которая есть.
  5. Сохранить изменения и перезапустить ПК.

Psexec

Пожалуй, это первое, что приходит на ум, когда идет речь об удаленном запуске программ. Утилита от Марка Руссиновича используется еще со времен Windows NT и до сих пор применяется. Помимо основной функции, можно использовать ее и как Runas, и для запуска программ в пользовательской сессии терминального сервера. Psexec также позволяет задавать ядра процессора, на которых будет запускаться программа, и ее приоритет в системе.

В качестве примера посмотрим, установлено ли обновление, закрывающее нашумевшую уязвимость SMB на списке компьютеров:

В файле computers.txt находится список компьютеров. Для запуска по всему домену можно использовать \\*. В файле \\server\share\log.txt будут появляться имена рабочих станций или серверов без обновления. Если в домене существуют компьютеры с *nix на борту или нет доступа к административному сетевому ресурсу Admin$ ― команда на этой машине не выполнится, но обработка продолжится. Чтобы скрипт не зависал при каждой попытке подключения, можно задать тайм-аут с помощью ключа -n.

Если компьютер выключен ― мы об этом не узнаем. Поэтому лучше предварительно проверять доступность машин или собирать в файле информацию об успешном или неудачном выполнении.

К минусам Psexec можно отнести то, что она из-за своего удобства и популярности часто используется вирусописателями. Поэтому антивирусные системы могут обнаруживать утилиту как опасность вида remote admin.

По умолчанию процесс на удаленной машине выполняется от имени пользователя, запустившего Psexec. При необходимости логин и пароль можно задать явно или же использовать аккаунт SYSTEM.

Получение с помощью WMI класса

За работу со службами в WMI отвечает класс win32_service. Преимущества такого подхода в том, что тут можно посмотреть и изменить все детали работы сервисов. Более подробно WMI в Powershell мы уже рассматривали.

Что бы получить список аналогичный Get-Service выполните:

 

В классе WMI можно увидеть больше свойств, которые можно использовать:

Одно из преимуществ использования в WMI это то, что мы можем увидеть идентификатор процесса под которым работает сервис. Если сервис остановлен, то его идентификатор 0. Так мы увидим идентификатор процесса с именем WinRM и получим всю информацию по процессу:

О том как работать с процессами в Powershell мы писали в прошлой статье. 

С помощью WMI мы можем вернуть имя аккаунта, под которым запущена служба и ее описание. Используя параметр ComputerName это можно сделать удаленно на множестве компьютеров:

Остальные команды windows:

  • calc — Калькулятор
  • charmap — Таблица символов
  • chkdsk — Утилита для проверки дисков
  • cleanmgr — Утилита для очистки дисков
  • cmd — Командная строка
  • dfrgui — Дефрагментация дисков
  • dxdiag — Средства диагностики DirectX
  • explorer — Проводник Windows
  • logoff — Выйти из учетной записи пользователя Windows
  • magnify — Лупа (увеличительное стекло)
  • msconfig — Конфигурация системы
  • msinfo32 — Сведения о системе
  • mspaint — Графический редактор Paint
  • notepad — Блокнот
  • osk — Экранная клавиатура
  • perfmon — Системный монитор
  • regedit — Редактор реестра
  • shutdown — Завершение работы Windows
  • syskey — Защита БД учетных записей Windows
  • taskmgr — Диспетчер задач
  • utilman — Центр специальных возможностей
  • verifier — Диспетчер проверки драйверов
  • winver — Версия Windows
  • write — Редактор Wordpad
  • whoami — отобразит имя текущего пользователя
  • net user «%USERNAME%» /domain — отобразит информацию о доменном пользователе — имя, полное имя, время действия пароля, последний вход, членство в группах и прочее
  • powercfg /requests — команда сообщит какие процессы, сервисы или драйверы не дают уходить системе в спящий режим. Начиная с windows 7
  • wuauclt /detectnow — проверить наличие обновлений
  • wuauclt /reportnow — отправить на сервер информацию о установленных обновлениях
  • gpupdate /force — обновление политик
  • gpresult — просмотр того, какие политики применились на компьютере
    • gpresult /H GPReport.html — в виде детального html отчета
    • gpresult /R — отобразить сводную информации в командной строке
    • gpresult /R /V — Отображение подробной информации. Подробная информация содержит сведения о параметрах, примененных с приоритетом 1.
  • mountvol — список подключенных томов
  • %windir%\system32\control.exe /name Microsoft.ActionCenter /page pageReliabilityView — запуск Монитора стабильности системы, который оценивает стабильность системы по 10-ти бальной шкале и указывает какие наблюдались проблемы с ПО или оборудованием.
  • rstrui.exe — запуск «Восстановление системы» из созданных точек восстановления
  • wusa.exe /uninstall /kb:2872339 — пример удаления какого-либо обновления
  • mstsc /v:198.162.0.1 — подключение к удаленному рабочему столу компьютера 198.162.0.1
  • wmic — команда упрощающая использование инструментария управления Windows (WMI) и систем, управляемых с помощью WMI (как на локальных, так и на удаленных компьютерах). Пример:
    • wmic logicaldisk where drivetype=2 get deviceid, volumename, description — список логических томов типа 2 (Removable Disk)
    • wmic process where (name LIKE ‘c%’) get name, processid — выводим имя и id процессов, которые начинаются с символа «c»
    • wmic process get /? или wmic process /? или wmic /? — справка
    • wmic process where (name LIKE ‘x%’) call terminate(0) — завершили процессы начинающиеся на букву «x»
  • msra.exe /offerra — удаленный помощник
  • slui 4 — вызов активации по телефону. Мне помогло, когда при попытке активации Windows Server 2008 SP2 я получал ошибку «activation error code 0×8004FE92» и при этом не было доступного варианта «активация по телефону»
  • MdSched.exe — диагностика оперативной памяти в Windows, аля memtest
  • 25 самых больших папок на диске C: (работает начиная с windows 8): dfp /b /top 25 /elapsed /study {largest} C:\
  • 25 самых больших файлов в папке c:\temp — Powershell «Get-ChildItem c:\temp -recurse | Sort-Object length -descending | select-object -first 32 | ft name,length -wrap –auto»
  • Отключение сообщения в журнале Windows — Безопасность: «Платформа фильтрации IP-пакетов Windows разрешила подключение»:
auditpol /get /subcategory:{0CCE9226-69AE-11D9-BED3-505054503030}

Work with the registry

It is possible to use WMIC to read, write or delete registry keys and values, but I would not recommend it, it is not for the faint of heart.REG.EXE is a lot easier to use.

The reason I still mention this feature of WMIC is the possibility to check if the current user has permissions to access a registry key or value:

SET KEY_QUERY_VALUE="&H1"
SET KEY_SET_VALUE="&H2"
SET KEY_CREATE_SUB_KEY="&H4"
SET KEY_ENUMERATE_SUB_KEYS="&H8"
SET KEY_NOTIFY="&H10"
SET KEY_CREATE="&H20"
SET DELETE="&H10000"
SET READ_CONTROL="&H20000"
SET WRITE_DAC="&H40000"
SET WRITE_OWNER="&H80000"

SET HKEY_CLASSES_ROOT="&H80000000"
SET HKEY_CURRENT_USER="&H80000001"
SET HKEY_LOCAL_MACHINE="&H80000002"
SET HKEY_USERS="&H80000003"
SET HKEY_CURRENT_CONFIG="&H80000005"

WMIC /NameSpace:\\root\default Class StdRegProv Call CheckAccess hDefKey=%HKEY_LOCAL_MACHINE% sSubKeyName="Software\My Program" uRequired=%KEY_SET_VALUE%

This code will return «errorlevel» 0 («true») if the current user has permission to set values in or 2 («false») if not.

To combine permissions, add their associated hexadecimal numbers.

Note:You don’t have to use environment variables to store the hexadecimal values:
will work just fine.

Причины ошибок в файле WDM_WMI.INF

Ошибки типа «синий экран» файла WDM_WMI.INF могут быть вызваны множеством проблем аппаратного обеспечения, прошивки, драйвера или программного обеспечения. Они, в свою очередь, могут быть связаны либо с программным обеспечением Windows Driver Development Kit Release Candidate 1 MSDN Disc 0950, либо с аппаратным обеспечением Microsoft, но это не всегда так.

Более конкретно, данные ошибки WDM_WMI.INF могут быть вызваны следующими причинами:

  • Неправильно сконфигурированные, старые или поврежденные драйверы устройства Windows Driver Development Kit Release Candidate 1 MSDN Disc 0950 (очень часто).
  • Повреждение реестра Windows из-за недавнего изменения программного обеспечения (установка или удаление), связанного с WDM_WMI.INF.
  • Вирус или вредоносное ПО, которые повредили файл WDM_WMI.INF или связанные с Windows Driver Development Kit Release Candidate 1 MSDN Disc 0950 программные файлы.
  • Конфликт оборудования после установки нового оборудования Microsoft, или оборудования, связанного с WDM_WMI.INF.
  • Поврежденные или удаленные системные файлы после установки программного обеспечения или драйверов, связанных с Windows Driver Development Kit Release Candidate 1 MSDN Disc 0950.
  • Синий экран WDM_WMI.INF вызван повреждениями жесткого диска.
  • Ошибка остановки файла WDM_WMI.INF в связи с повреждением оперативной памяти (RAM).

Как отключить обновление Windows. Наглядная инструкция

Зачем вообще может понадобиться отключать автоматическое обновление Windows? В основном, это может пригодиться в случае, если мы пользуемся достаточно медленным или дорогим Интернетом.

Так как обновление Windows подразумевает скачивание порой сотен мб. информации, необходимой для обновления системы, то, если в параметрах компьютера указано автоматическое обновление Windows и если мы не знаем об этом, то мы можем не понимать:

  • почему у нас и без того медленный Интернет в данный момент начал работать еще медленнее обычного;
  • или почему так быстро закончились деньги за Интернет, если он у нас платный (с оплатой за входящий трафик).

На самом деле, хотя обновление Windows, как и любой другой программы, это важное дело, так как со временем большинство программ, а также многие компоненты операционной системы нуждаются в обновлении, но, все же, что касается Windows, то в её автоматическом обновлении, — острой необходимости, как правило, нет. Поэтому давайте сейчас рассмотрим по порядку, как отключить автоматическое обновление Windows 7, как его включить обратно, и затем тоже самое рассмотрим с Windows XP

Поэтому давайте сейчас рассмотрим по порядку, как отключить автоматическое обновление Windows 7, как его включить обратно, и затем тоже самое рассмотрим с Windows XP.

Начнем…

Как включить автоматическое обновление Windows 7

Если понадобиться заново включить автоматическое обновление Windows 7, заходим в эту же службу Windows, как описывалось выше и снова запускаем Центр обновления Windows, только теперь порядок включения такой:

  1. В поле Тип запуска через выпадающий список выбираем Автоматически;
  2. Нажимаем на кнопку Применить;
  3. Нажимаем на кнопку Запустить;
  4. Нажимаем на кнопку Ок:

Готово! Автоматическое обновление Windows 7 включено заново!

Теперь рассмотрим отключение автоматического обновления в Windows XP для тех, у кого стоит эта операционная система.

Как отключить автоматическое обновление Windows XP

Чтобы отключить автоматическое обновление Windows XP, нужно выполнить практически те же действия, что и при отключении обновления в Windows 7, которое рассматривалось выше. Тем не менее, рассмотрим также подробно отключение автоматического обновления Windows XP в этой заметке тоже.

Итак, начнем…

Заходим в меню Пуск и идем в Панель управления (нажатием левой кнопкой мыши):

Переключаемся к классическому виду отображения панели управления:

Переходи в раздел Администрирование:

Переходим в Службы:

Находим службу Автоматическое обновление. Здесь же можно увидеть текущее состояние этой службы:

Двойным кликом левой кнопкой мыши запускаем дополнительное меню:

  1. В поле Тип запуска через выпадающий список выбираем Отключено;
  2. Нажимаем на кнопку Стоп;
  3. Нажимаем на кнопку Применить;
  4. Нажимаем на кнопку Ок:

Вот и всё! Мы отключили автоматическое обновление Windows XP. И это мы видим по показателям этой службы:

Как включить автоматическое обновление Windows XP

Если нужно будет снова включить автоматическое обновление Windows XP, заходим в эту же службу Windows, как показывалось в описании выше и снова запускаем службу обновления Windows, только теперь порядок включения следующий:

  1. В поле Тип запуска через выпадающий список выбираем Авто;
  2. Нажимаем на кнопку Применить;
  3. Нажимаем на кнопку Пуск;
  4. Нажимаем на кнопку Ок:

Готово! Мы включили автоматическое обновление Windows XP заново!

Итак, в этой заметке мы рассмотрели как отключить автоматическое обновление Windows в обеих операционных системах. Можем использовать его, например, если у нас медленный или дорогой Интернет, чтобы автоматическое обновление не тормозило использование Интернет, а также чтобы не тратить лишние деньги на автоматическое скачивание информации, необходимой для обновления Windows.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации