Ограничение скорости загрузки обновлений в 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

Удаленное подключение к IIS в Azure

Если кому-нибудь посчастливится управлять сайтом на IIS в Azure, то скорее всего вам со временем потребуется управлять настройками IIS. Можно это конечно делать через файл web.config в корне сайта, а можно пойти другим путем и настраивать его через графическую оболочку. Что для этого необходимо сделать?
1. Установим консоль IIS через меню “Компоненты Windows”

2.  Заходим на портал Azure, выбираем раздел “Службы приложений”, находим там наше web-приложение и кликаем на нем правой кнопкой мыши и выбираем “Скачать профиль публикации”.

3. Откроем скаченный файл <имя вашего приложения>.PublishSettings блокнотом, нам нужны первые строчки в нем.

4. Запускаем “Диспетчер служб IIS” и через контекстное меню выбираем “Подключиться к сайту”

5. Остается ввести в пустые поля данные, которые у нас записаны в файле публикации.

Имя пользователя нужно писать без знака “$” в начале. Пароль у вас должен давно иметься на руках, если вы администратор сайта на IIS. Если не помните его, то на портале Azure можно его посмотреть.

На этом всё. Можно рулить сайтом на IIS в Azure так же как и на родном Windows Server.

Ошибка 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.

Перевод сайта в Microsoft Azure на HTTPS

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

В самом WordPress ничего специально настраивать не нужно, чтобы сайт начал работать через https. Все работы делаются на web-сервере или через административную панель хостинг-провайдера. Заранее только нужно подготовить SSL-сертификат. В моем случае я сгенерировал сертификат бесплатный, на сайте STARTSSL. После этого заходим на портал Microsoft Azure в соответствующий раздел, где можно загрузить SSL-сертификат для сайта.

Не забудьте загруженный сертификат привязать к нужному домену в этом же разделе. После этого можно уже проверять, сайт должен быть доступен по https.Осталось сделать последнюю настройку, чтобы web-сервер автоматически переадресовывал все запросы по протоколу http на https. Для этого (если у вас сайт на IIS) нужно загрузить  из корня сайта файл web.config, а если его нет, то создать его. В нем должно быть такое содержимое:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="Redirect to HTTPS" enabled="true" patternSyntax="ECMAScript">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Правило, относящееся к переадресации на https я выделил жирным шрифтом. Все остальное копировать не надо, если у вас файл web.config уже существует. После этого можно уже проверять, переадресация должна работать.

PHP 7 в Windows Azure

Еще 3 мая 2016 года появилась запись в блоге разработчиков Windows Azure о том, что PHP 7 стал доступен для опубликованных web-сайтов.

И вот наконец я перевел свой блог на эту новую платформу

 

Как мне кажется теперь все стало быстрее работать, но специальных измерений я проводить не стал.

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

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

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

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

Проблема с сетью на принтере Epson WF-8090

Привет! У меня в обслуживании имеется цветной A3 принтер Epson WF-8090. К сожалению, с ним часто бывают проблемы: сначала в нем так застряла бумага, что пришлось вести его в сервис, а сегодня (уже второй раз за несколько месяцев) подвисает сетевой интерфейс, в результате чего принтер недоступен по сети. Переподключение кабеля и перезагрузка принтера не помогают. Единственный способ, который оживает сетевой интерфейс, это сброс настроек принтера. Как это сделать:
Выбрать с помощью клавиш на дисплее надпись «Меню», потом «Администрир. системы» а затем «Восст. настр. по ум».
После этого сеть должна быть доступна!

Включение DKIM в Office 365

С недавних пор в Office 365 появилась возможность включения технологии DomainKeys Identified Mail (DKIM). Чтобы это сделать, необходимо сначала создать две CNAME на DNS сервере, отвечающем за вашу доменную зону.

selector1._domainkey CNAME selector1-murava-ru._domainkey.muravamoscow.onmicrosoft.com.

selector2._domainkey CNAME selector2-murava-ru._domainkey.muravamoscow.onmicrosoft.com.

Вместо выделенных частей у Вас должны быть свои наименования доменов. Чтобы посмотреть какие нужно прописывать Вам, необходимо зайти через Powershell в Exchange Online

1) Запустить PowerShell от имени Администратора.
2) Проверить политики командой "Get-Executionpolicy". Если установлено "Restricted", запустить команду “Set-Executionpolicy remotesigned” или „Set-Executionpolicy unrestricted“.
3) Запустить команду "$LiveCred = Get-Credential", в процессе выполнения которой Вам необходимо вписать юзернейм и пароль администратора.
4) Запустить команду "$Session = New-PSSession -ConfigurationName Microsoft.Exchange –ConnectionUri https://ps.outlook.com/powershell -Credential $LiveCred -Authentication Basic -AllowRedirection"
5) Запустить команду "Import-PSSession $Session".
6) Выполнить команду Get-DkimSigningConfig -Identity murava.ru| fl Domain, *CNAME (вместо murava.ru пропишите свой домен)

После этого нужно немного подождать, пока изменения в DNS вступят в силу (от нескольких минут до нескольких часов) и также через Powershell, подключенный к Exchange Online, выполнить команду:

Set-DkimSigningConfig murava.ru -Enabled $true

либо можно это проделать через графический интерфейс Office 365, зайдя в Панель администратора Exchange – Защита – DKIM и нажать на гиперссылку “Включить”.

Остается настроить DMARC для вашего домена. Для этого необходимо в записи DNS домена добавить правила в виде TXT-записей. Название созданной записи должно быть «_dmarc.murava.ru», где murava.ru замените вашим собственным доменом. В значении TXT-записи нужно прописывать правило, по которому будут обрабатываться входящие письма. Самой простой записью будет “v=DMARC1; p=reject” – отклонять все сообщения, не прошедшие проверку DMARC. Подробнее обо всех значениях в txt-записи DMARC можно узнать на официальной странице этой технологии.