Ограничение скорости загрузки обновлений в Windows

Привет. Задумался на днях о том, как проще всего ограничить скорость скачивания обновлений на компьютер, не прибегая к настройке роутера, коммутатора и тому подобных вещей. Microsoft через графический интерфейс не позволяет данный функционал настроить, но зато это возможно сделать через групповые политики или через редактор реестра. Редактор реестра понадобится только если у вас операционная система домашней редакции: Home, Home Basic, Single Language, Starter и т.п.
Для владельцев редакций Pro и Enterprise или Ultimate нужно запустить через Win+R команду

gpedit.msc

и в редакторе политики пройти по следующим пунктам: Конфигурация компьютера – Административные шаблоны – Сеть – Фоновая интеллектуальная служба передачи (BITS).

Справа открываем настройку “Ограничить максимальную пропускную способность сети для фоновой передачи BITS” и выставляем настройки так, как вам необходимо.

В моем случае ограничение скорости сделано в дневное время, если у вас домашний компьютер, то думаю, что такое ограничение нужно сделать  в вечерние часы. Нажимаем “ОК” для сохранения.

Для тех, у кого редактор политик заблокирован, откройте реестр командой

regedit

в окне запуска Win+R.

В дереве реестра спускаемся по ветке “HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\BITS”. Если она пуста, то создайте параметры аналогично моему скриншоту ниже.

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

P.S. Для ленивых, оставляю ветку реестра здесь (сохраните этот код в файле с расширением .reg и запустите с правами администратора):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\BITS]
"EnableBITSMaxBandwidth"=dword:00000001
"MaxTransferRateOnSchedule"=dword:00000400
"MaxBandwidthValidFrom"=dword:00000009
"MaxBandwidthValidTo"=dword:00000013
"UseSystemMaximum"=dword:00000001
"MaxTransferRateOffSchedule"=dword:00000014

Ошибка 0x80070005 при подключении к терминальному серверу

Иногда на терминальном сервере возникают неожиданные проблемы, например как эта:
пользователь подключается к нему и видит вместо рабочего стола темный экран или не запускается опубликованное RDWeb приложение. Бывает и такое, что у части пользователей все ОК при этом.

Смотрим логи сервера и видим такую ошибку:

В первую очередь надо убедиться, что сервер лицензирования не установлен на контроллере домена. Далее, надо проверить а работает ли вообще он, для этого заходим в его консоль и проверяем каким пользователям он выдал лицензии. Если происходит так, что какой-то половине он их выдает, а какой-то нет, то тогда вам необходимо запустить скрипт, который решает проблему с пользователями, которые были созданы давно, до обновления схемы Active Directory. Если вы не уверены, что скрипт точно вам поможет, то создайте в AD новую учетную запись и попытайтесь войти ей на терминальный сервер. Если эту произошло без ошибки, то значит этот скрипт то, что вам нужно.

Сохраните его с раcширением .ps1 и запустите на RDS-сервере или контроллере домена, изменив только в нем имя домена в первой строке.

$URL = "LDAP://DC=test,DC=local";

cls
$root = New-Object DirectoryServices.DirectoryEntry $URL
$ds = New-Object DirectoryServices.DirectorySearcher
$ds.SearchRoot = $root
$ds.filter = "objectCategory=Person"
$src = $ds.findall()
write-host "Found" $src.count "user objects.`n"
$src | %{
$de = $_.getdirectoryentry()
$accessrules = $de.get_objectsecurity().getaccessrules($true, $false,[System.Security.Principal.SecurityIdentifier]) | ?{$_.ObjectType -eq "5805bc62-bdc9-4428-a5e2-856a0f4c185e"}
if ((measure-object -inputobject $accessrules).count -eq 0)
{
$ar = new-object System.DirectoryServices.ActiveDirectoryAccessRule([System.Security.Principal.SecurityIdentifier]"S-1-5-32-561", 48, "Allow", [guid]"5805bc62-bdc9-4428-a5e2-856a0f4c185e")
$de.get_objectsecurity().addaccessrule($ar)
$de.commitchanges()
write-host -f yellow ("Added:`t" + $de.properties["sAMAccountName"])
start-sleep -m 200
}
else
{
write-host -f green ("OK:`t" + $de.properties["sAMAccountName"])
}
}
После этого сделайте Log Off и Log On на компьютере.

Ошибка запуска послеустановочных задач WSUS на Windows Server 2012

Добрый день.

После установки компонентов WSUS на Windows Server 2012 запуск дополнительных задач настройки завершается ошибкой. Вот такую картину вы можете при этом наблюдать:

“Сбой настройки. Создан файл журнала в C:\Users\..”

Открываем этот файл журнала и видим сообщение “Config file did not contain a value “ContentDirectory“. Для решения данной ошибки надо в командной строке под администратором выполнить wsusutil postinstall CONTENT_DIR=C:\WSUS , где вместо C:\WSUS указываете свой путь, где будут храниться обновления. Команда должна выполниться успешно и тогда можно запускать консоль WSUS для дальнейшей настройки. Если же и эта команда завершается с ошибкой, загляните в новый файл лога, расположения которого будет показано. Возможно там будет ошибка такого типа:
“System.Data.SqlClient.SqlException (0x80131904): Changes to the state or options of database ‘SUSDB’ cannot be made at this time. The database is in single-user mode, and a user is currently connected to it.”
В таком случае необходимо удалить внутреннюю базу данных командой uninstall-windowsfeature -name windows-internal-database, удалить роль WSUS, перезагрузить сервер и удалить содержимое папки “c:\windows\wid”. После этого можно заново устанавливать роль WSUS.

Гаснет экран после загрузки заставки в Windows 10

Давно не возникало на моем компьютере проблем и вот сегодня беда пришла и ко мне.

На компьютере стоит Windows 10 x64, я лазил по сайтам через браузер и тут вдруг экран у меня погас, хотя система продолжала работать. Я не долго думая перезагружаю компьютер. Появляется стандартная заставка с Windows 10 в виде анимированного круга и после этого экран опять гаснет. Т.к. синего экрана с грустным смайликом я не наблюдал, то отсюда можно сделать вывод, что проблема с графическим адаптером или с драйвером на него. Чтобы решить эту проблему нужно:

  1. Загрузиться в безопасный режим. В Windows 10 это сделать не так просто, как хотелось бы. Нужен либо сам дистрибутив, либо загрузочная флешка с системой DaRT, но я обычно это делаю гораздо быстрее и проще: во время того, когда система отображает свою заставку при загрузке, нужно перезагрузить компьютер клавишей “Reset” и после этого компьютер предложит разные варианты загрузки, где нужно выбрать “Включить безопасный режим”. В этом же меню можно сначала попробовать загрузиться, использовав пункт меню “Включить видеорежим с низким разрешением”, возможно это также вам поможет, но мне – нет, поэтому продолжаем.
  2. После загрузки в безопасном режиме (а я уверен, что у вас это получится), нужно запустить утилиту msconfig (для этого нужно нажать Win + R  и набрать название этой утилиты) и в закладке “Загрузка” поставить галочку на против пункта “Базовое видео”После этого нажимаем “ОК” и соглашаемся с перезагрузкой системы.
  3. Система должна загрузиться в обычном режиме но со стандартным драйвером на монитор. Удалите драйвера, которые у вас установлены и установите заново в сайта производителя. В момент их установки система их обнаружит и сразу вы увидите родное разрешение экрана.
  4. После этого опять заходите в утилиту msconfig и снимайте галочку. которую установили до этого. В моем случае была проблема с драйверами NVIDIA.

Быстрая централизованная настройка Bitlocker + TPM модуль + PIN через групповые политики

В наличии:

  • домен (Active Directory 2008 и выше)
  • компьютеры с установленным TPM-модулем
  • 3 раздела на жестком диске компьютера (один из которых системный)
  • Windows 7 Enterprise (но подойдет Windows 8.1 и Windows 10)
  • желание защитить информацию от постороннего вмешательства

Цель:

  1. Добиться автоматического запуска шифрования данных на всех томах диска. Несистемные тома должны автоматически разблокироваться при входе пользователя в систему.
  2. Пользователь должен сам ввести ПИН-код и пароли для шифрования системного раздела и разделов с данными.

Шаги для достижения цели:

  1. Проверяем, что TPM-модуль включен на компьютерах. По умолчанию, он обычно отключен. Делаем это через BIOS (UEFI) или специальные утилиты, которые крупные вендоры делают, чтобы можно было изменять настройки BIOS централизованно (уточняйте у DELL/HP/IBM/Lenovo и т.д.)
  2. Создаем организационное подразделение (OU) в каталоге Active Directory, куда необходимо перенести все доменные компьютеры, которые будут подвержены шифрованию.
  3. Создаем новую групповую политику и в ней необходимо настроить политику из раздела «Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Этот параметр политики позволяет выбрать шифрование дисков»:
    — в разделе «диски операционной системы» изменяем политики:
    а) «Этот параметр политики позволяет указать, требует ли BitLocker дополнительной проверки подлинности при каждом запуске»б) «Этот параметр политики позволяет указать, разрешено ли обычным пользователям изменять ПИН-коды или пароль»в) «Этот параметр политики позволяет настраивать использование улучшенных ПИН-кодов при запуске компьютера.»

    г) «Этот параметр политики позволяет установить минимальную длину ПИН-кода для запуска»

    д) «Этот параметр политики позволяет указать, как восстанавливать диски операционной системы, защищенные с помощью BitLocker» — очень важная настройка. Т.к. администратор в моем случае не знает о пин-кодах и паролях, которые придумают пользователи, то ему необходимо средство восстановления доступа к томам, в случае потери пароля или увольнения сотрудника. Для этого сохраняем ключи восстановления в Active Directory и не начинаем шифрование пока ключ не будет сохранен там.

    — в разделе «несъемные диски с данными» изменяем политики:

    а) «Этот параметр политики определяет, требуется ли пароль для разблокировки несъемных дисков с данными»

    б) «Этот параметр политики позволяет указать, как восстанавливать несъемные диски с данными, защищенными с помощью BitLocker» — настраиваем аналогично системному диску.

    На этом можно закончить с настройкой групповых политик, если у Вас Windows 7. Для Windows 8 и 10 интересных настроек есть чуть побольше, внимательно ознакомьтесь со всеми.

  4. Привязываем настроенную политику к подразделению, которому мы создали на втором шаге.
  5. Далее мы должны взять скрипт, который доступен по этому адресу. Скрипт изначально не работает на неанглоязычных локалях. Чтобы скрипт заработал на системе с русским интерфейсом, надо в самом скрипте подправить значения «True» на «Истина» и «False» на «Ложь», но только не везде, а в основном теле скрипта и в функции «OwnTPM». Так же под русскоговорящего пользователя можно изменить текст уведомлений на русский, это делается в функции «GetPIN».
  6. Создаем файл с расширением bat, в котором будем запускать vbs скрипт из предыдущего пункта, запускать шифрование на каждом из дисков и включать на этих дисках автоматическую разблокировку. Этот скрипт необходимо создавать в кириллической кодировке «OEM 866», т.к. именно в ней в командой строке по умолчанию отображается текст. Проще всего это сделать через Notepad++


    Не забываем прикрепить этот скрипт к групповым политикам и к тому же подразделению, что мы создали ране. Добавление скрипта делается в разделе «»Конфигурация компьютера — Политики — Конфигурации Windows — Сценарии — Автозагрузка».

    Само содержание скрипта у меня такое:

    TITLE Запуск системы шифрования дисков. Не закрывайте это окно!
    cls
    start "" /WAIT "C:\EnableBitLocker-ru.vbs" /on:tp /l:D:\bitlocker.log /em:256 /promptuser
    cls
    TIMEOUT /T 15 /NOBREAK
    cls
    start "Шифрование диска D:" /WAIT "%Systemroot%\system32\manage-bde.exe" -on -pw D: -rp
    cls
    start "Включение автоматической разблокировки диска D:" "%Systemroot%\system32\manage-bde.exe" -autounlock -enable D:
    cls
    start "Шифрование диска Z:" "%Systemroot%\system32\manage-bde.exe" -on -pw Z: -rp
    cls
    start "Включение автоматической разблокировки диска Z:" "%Systemroot%\system32\manage-bde.exe" -autounlock -enable Z:
    exit

    Скрипт будет работать при условии, что файл «EnableBitLocker-ru.vbs» лежит в корне диска C. Чтобы этот файл также централизованно переместить в это месторасположение, добавьте в bat-скрипт в начало строку xcopy -Y «расположение скрипта vbs в сетевой папке» «C:\» В самом скрипте сделана пауза в 15 секунд на всякий случай, т.к. мы настроили сохранение ключей шифрования в Active Directory и поэтому бывают небольшие задержки при включении шифрования на диске С, а без включения Bitlocker на системном томе, шифрование на других дисках не начнется (в Windows 10 такая пауза не нужна, т.к. правильно отрабатывает ключ /WAIT при запуске vbs скрипта).

Также хочу дополнить о строчке
start "" /WAIT "C:\EnableBitLocker-ru.vbs" /on:tp /l:D:\bitlocker.log /em:256 /promptuser

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

Вот как все выглядит глазами пользователя:

 

 

P.S. Чтобы посмотреть ключи восстановления в Active Directory, необходимо на контроллере домена установить специальную компоненту:

 

После этого в оснастке «Active Directory пользователи и компьютеры» в свойствах компьютера будет отображаться вкладка Bitlocker:

 

Автоматическая установка Office 365 Professional на компьютеры в домене

Привет!
Совсем недавно вышел Office 2016 из недр Office 365 и настала пора задуматься над тем, как его установить на компьютеры в домене, приложив к этому как можно меньше усилий. Домен небольшой, поэтому для автоматизации установки будет использоваться только групповая политика.

  1. Для начала администратору необходимо скачать инструмент «Office 2016 Deployment Tool» с оффициального сайта Microsoft. Распакуем его. Внутри два файла:
    setup.exe — используется для скачивания, установки и удаления Office 2016
    configuration.xml — в котором хранится информация что делать, как и куда.
  2. Затем скачиваем весь дистрибутив Office 2016. Для этого берем файл  configuration.xml и заполняем его следующим текстом:
    <Configuration>
    <Add SourcePath="\\VENERA\Distrib\SOFT\Microsoft\Office_2016\"OfficeClientEdition="32">
    <Product ID="O365ProPlusRetail">
    <Language ID="ru-ru" />
    </Product>
    </Add>
    <Display Level="None" AcceptEULA="TRUE" />
    </Configuration>
  3. В командной строке выполняем команду setup.exe /download configuration.xml для запуска процесса скачивания дистрибутива.
  4. Создаем групповую политику, в которой указываем на скрипт с расширением «cmd», который запускает  setup.exe с указанием конфигурационного файла. В моем случае содержимое скрипта такое:
    \\VENERA\Distrib\SOFT\Microsoft\Office_2016\setup.exe/configure \\VENERA\Distrib\SOFT\Microsoft\Office_2016\configuration.xml
    Не забываем групповую политику настроить на компьютер, иначе при запуске скрипта будет спрашиваться пароль администратора компьютера. Чтобы компьютер мог запустить этот скрипт в сетевой папке ему нужны соответствующие права на запуск.
  5. В настройках групповой политики в «фильтре безопасности» убираем группу «Прошедшие проверку» и добавляем группу безопасности, в которую вы должны добавить все те компьютеры, на которых будет установлен Office 2016.
  6. Перезагружаем компьютеры. Примерно через 10 минут после их запуска Office 2016 будет установлен. Этого не произойдет, если в процессе запуска установки пользователь запустит другую версию уже установленного Office. В таком случае, нужно перезагрузить компьютер еще раз и тогда Office 2016 до-установится. Если на вашем компьютере установлена предыдущая версия Office, то она будем удалена и заменена новой версией.
  7. После запуска Office 2016, пользователю будет предложено его активировать. Для этого нужно ввести адрес электронной почты и пароль, которые зарегистрированы в Office 365 и которая имеет соответствующую лицензию.Если Вам необходимо устанавливать не все продукты, которые входят в Office 365 Prof Plus или же необходимо установить, например, Visio таким же образом, то советую почитать подробнее о файле configuration.xml на Technet.

Как уменьшить пространство на системном диске

Если у вас установлена последняя операционная система от Microsoft и используется SSD-диск в качестве пространства для размещения системных файлов, то возможно включить сжатие системных файлов.

compact.exe /compactOS:always

На SSD-дисках размером менее 128 Гб эта функция включена по-умолчанию. Её статус можно узнать через команду

compact.exe /compactOS:query

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

Как узнать ключ активации установленной Windows

Иногда приходится выяснять ключ активации установленной Windows не тривиальным путем, т.к. стандартный скрипт slmgr.vbs не выводит ключ полностью, а наклейка на корпусе системного блока или ноутбука могла давно уже стереться. Что же в таком случае делается?

1) Скачайте скрипт c powershell скриптом к себе на компьютер.

2) Запустите Powershell и выполните команду Set-ExecutionPolicy RemoteSigned

3) Вводим команду Import-Module <путь до файла module.ps1>

4) Исполняем командлет Get-WindowsProduct и радуемся полученному результату ?

P.S. На Windows 10 скрипт не работает.

Изменение типа сети в Windows 10

Все давно уже видели и знают, наверно, что когда компьютер с Windows 8 , 8.1 или 10 подключается к новой сети, он спрашивает у пользователя “Хотите ли Вы, чтобы этот компьютер был виден в сети..”. При выборе “Да” тип сети становился “Частная”, при выборе “Нет” – “Общественная”. Причем ранее в Windows 7 переключение между “Частная сеть” и “Общественная” делалось за пару кликов мыши в “Центре управления сетями и общим доступом”. Начиная с Windows 8 эту возможность закопали очень глубоко. Я вам покажу на примере Windows 10 как можно переключить тип сети.

1. Нажимаем клавиши Win + I для запуска современной панели управления. Выбираем там раздел “Сеть и Интернет”

2. Выбираем вкладку Ethernet.

3. Дважды кликаем на локальную сеть, у которой надо поменять настройку

4. Включаем пункт меню “Позвольте другим компьютерам..”, если нужно данную сеть сделать “Частной” или же наоборот, если хотите поменять тип на “Общественная”. Перезагружаться не надо, настройка сразу вступит в силу.

P.S. Изменение типа сети так же возможно и через Powershell.

Для этого сначала нужно узнать номер сетевого интерфейса, на котором нужно поменять тип сети. Это делается командой
get-NetConnectionProfile Строка “InterfaceIndex” даст нужную информацию о номере нужного сетевого интерфейса. Далее командой
Set-NetConnectionProfile -InterfaceIndex <номер интерфейса> -NetworkCategory Private
или
Set-NetConnectionProfile -InterfaceIndex <номер интерфейса> -NetworkCategory Public меняем тип сети на “Приватная” или “Публичная”

Быстрое создание мультизагрузочной флешки

Если вы администратор или просто опытный пользователь, то вам часто приходится (скорее всего) пользоваться USB Flash устройствами, чтобы загрузиться с очередного ISO-образа с новой ОС или полезной программой. А иногда приходится делать сразу несколько дел или задача какая-нибудь очень сложная и тогда в дело идут несколько “флешек” ради этого, но много подобных устройств в одних руках достаточно редкое событие. И поэтому к нам на помощь приходят мультизагрузочные флешки, на котором может находиться не один и не два ISO-образа. Как же их сделать и при этом не потратив уйму времени?

1. Скачиваем этот архив. Распаковываем.
2. Подключаем USB Flash устройство к компьютеру.
3. Из архива запускаем (под администратором) программу HPUSBFW.exe и форматируем флешку в FAT-32 файловую систему
4. Выбираем в ней нужную флешку, тип файловой системы, прописываем удобную метку тома, ставим пометку о быстром форматировании и нажимаем Start.
5. Запускаем под администратором файл GRUB_Inst_GUI.exe. В ней нужно выбрать ту же отформатированную флешку и нажать Install. Должно появиться окно программы grubinst.exe. Нажимаем Enter.
6. Копируем на флешку файлы grldr и menu.lst , а также все те ISO-образы, которые Вы будете загружать с данной флешки. У меня например все выглядит так:

Главное, не делать название файлов в Unicode (только латиница!) и желательно без пробелов и как можно короче.
7. Открываем файл menu.lst. В архиве он такой же как и у меня на флешке. По содержимому файла Вам сразу станет понятно, каким образом добавляется новый ISO-образ.

default 0
timeout 60
title Repair Windows XP,Vista,7
find --set-root /UDaRKv1.2.4.iso
map /UDaRKv1.2.4.iso (hd32)
map --hook
chainloader (hd32)
title Repair Windows 8 x86
find --set-root /ERD70x86.iso
map /ERD70x86.iso (hd32)
map --hook
chainloader (hd32)
title Repair Windows 8 x64
find --set-root /ERD70x64.iso
map /ERD70x64.iso (hd32)
map --hook
chainloader (hd32)
title Acronis TIH 2012 Rus
find --set-root /AcronisTIH2012Rus.iso
map /AcronisTIH2012Rus.iso (hd32)
map --hook
chainloader (hd32)
title Clonezilla LiveCD 2.2.0-16-i686
find --set-root /Clonezilla.iso
map /Clonezilla.iso (hd32)
map --hook
chainloader (hd32)
title Paragon Hard Disk Manager 14 Professional
find --set-root /Paragon.iso
map /Paragon.iso (hd32)
map --hook
chainloader (hd32)
boot

Если будут сложности с настройкой по данной статье или возникнут вопросы, то пишите мне, не стесняйтесь.

P.S. При добавлении в такую мультизагрузочную флешку ISO-образов LiveCD-утилит Dr.Web и Kaspersky появляются различные ошибки. Например, при запуске образа Dr.Web LiveDisk возникала ошибка “unable to find a medium containing a live file system” . Для решение этих проблема нужно изменить файл menu.lst. Вместо строк

find --set-root /drweb-livedisk-900-cd.iso
map /drweb-livedisk-900-cd.iso (hd32)
map --hook
chainloader (hd32)

должны быть строки

set ISO=/drweb-livedisk-900-cd.iso
ls (hd0,0)/%ISO%  && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

P.S.S. При ошибке “Error 60: File for drive emulation must be in one contiguous disk area” необходимо воспользоваться утилитой “Contig” и далее через командную строку запустить ее, указав путь до iso-образа диска, который выдает данную ошибку.