Архив

Архив Апрель 2015

Очистка папки WinSxS

29 апреля 2015 Нет комментариев

Windows 8.1
Ключ /ResetBase с параметром /StartComponentCleanup программы DISM.exe в работающей версии Windows 8.1 удаляет все замененные версии для всех компонентов в хранилище компонентов.

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

Читать далее…

Categories: Windows Tags: , ,

Автоматическое переключение на резервный канал при падении основного.

20 апреля 2015 Нет комментариев

В этой заметке рассмотрим автоматическое переключение на резервный канал при падении основного на примере роутера Cisco 2801 c IOS c2801-advsecurityk9-mz.124-20.T1.bin который используется в одном из филиалов.

Имеем подключение к двум провайдерам по Ethernet.
FastEthernet0/0 — ISP1
FastEthernet0/1 — ISP2
vlan1 — внутренняя сеть 192.168.64.0/24

Требуется чтобы при падении основного канала трафик автоматически шел через резервный.
При востановлении работоспособности основного автоматически шел через основной.

Читать далее…

Categories: Cisco Tags: ,

Как скрыть программу в списке «Установка и Удаление программ»

10 апреля 2015 Нет комментариев

Способ первый:
В ветке реестра

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]

находим ветку с нашим приложением и внутри ее создаем параметр типа DWORD с именем SystemComponent и значением 1

"SystemComponent"=dword:00000001

Если приложение установлено под правами пользователя то искать нужно в ветке

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall]

Если приложение 32-х битное а Windows x64 то искать нужно в этой ветре

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall]

Например, чтобы скрыть wirar добавляем этот ключ

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver]
"SystemComponent"=dword:00000001

Скроем uTorrent

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\uTorrent]
"SystemComponent"=dword:00000001

Способ второй:
переименовать параметр DisplayName на QuietDisplayName

Categories: Windows Tags: ,

Удаление профиля пользователя Windows 7

9 апреля 2015 Нет комментариев

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

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]
Categories: Windows Tags: ,

Автоматическое создание подписи Outlook на основе данных из AD

7 апреля 2015 Нет комментариев

Для автоматизации создания стандартных подписей используя данные из Active Directory в интернете есть немало скриптов, в том числе на PowerShell.

Скрипт на PowerShell мне не понравился по нескольким причинам:
Выполняется заметно дольше чем на VBS.
Необходимо разрешать выполнение не подписанных скриптов на клиентах.
Без напильника не обновляет подпись при изменениях в AD, а по новому генерировать подпись при каждом логоне — тяжеловат.

Поэтому был выбрал простой скрипт на VBS и модифицирован под свои нужды.

Данный скрипт создает две подписи (обычную и короткую) и назначает их соответственно для новых писем и ответов.
Так как в скрипте если кириллические символы файл нужно сохранить в кодировке Unicode.
Сохраняем, например, как StandardSignature.vbs и добавляем в Logon скрипты объекта групповой политики назначенного на пользователей.
Читать далее…

Отключение IMAP POP3 ActiveSync при создании почтового ящика Exchange 2013

3 апреля 2015 Нет комментариев

Создаем файл конфигурации Scripting Agent

C:\Program Files\Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml
<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">
	<Feature Name="MailboxProvisioning" Cmdlets="enable-mailbox">
		<ApiCall Name="OnComplete">
		if($succeeded)
		{
			$user = (Get-User $provisioningHandler.UserSpecifiedParameters["Identity"]).name
			Set-CASMailbox -identity $user -PopEnabled $false -IMAPEnabled $false -ActiveSyncEnabled $false 			Set-Mailbox -identity $user -RetentionPolicy "Default Archive and Retention Policy" -ArchiveWarningQuota 3584MB -ArchiveQuota 4GB		}
		</ApiCall>
	</Feature>
</Configuration>

Активируем Scripting Agent

[PS] C:\>Enable-CmdletExtensionAgent “Scripting Agent”

Важно! Активировать агенты сценариев нужно после создания файла конфигурации ScriptingAgentConfig.xml

Проверяем какие из агентов активированы

[PS] C:\>Get-CmdletExtensionAgent | ft name, priority, enabled –wrap –autosize
 
Name                               Priority Enabled
----                               -------- -------
Admin Audit Log Agent                   255    True
Rus Agent                                 1    True
Mailbox Resources Management Agent        2    True
Mailbox Creation Time Agent               3    True
Provisioning Policy Agent                 4    True
OAB Resources Management Agent            5    True
Query Base DN Agent                       0    True
Scripting Agent                           6   False
 
 
[PS] C:\>
Categories: Exchange Tags:

Ротация логов IIS и Exchange

3 апреля 2015 1 комментарий

В один прекрасный день обнаружил что на системном томе сервера с установленным Exchange 2013 заканчивается место.
Всему причиной оказались логи как самого Exchаnge (не путать с журналами транзакций) так и, в основном, логи IIS.

Стандартной процедуры ротации логов в IIS не предусмотрено, поэтому воспользуемся небольшим скриптом на Powershell

Get-ChildItem -Path 'C:\inetpub\logs\LogFiles\*' -Include *.log -Recurse | Where-Object {$_.LastWriteTime -le [datetime]::Today.AddDays(-30)} | Remove-Item -Confirm:$false
Get-ChildItem -Path 'C:\Program Files\Microsoft\Exchange Server\V15\Logging\*' -Include *.log -Recurse | Where-Object {$_.LastWriteTime -le [datetime]::Today.AddDays(-30)} | Remove-Item -Confirm:$false
Get-ChildItem -Path 'C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\*' -Include *.log -Recurse | Where-Object {$_.LastWriteTime -le [datetime]::Today.AddDays(-30)} | Remove-Item -Confirm:$false

Первая строчка удаляет файлы с расширением *.log в папке «C:\inetpub\logs\LogFiles» и во всех вложеных папках которые не изменялись за последние 30 дней
Вторая тоже самое в папке «C:\Program Files\Microsoft\Exchange Server\V15\Logging»

Помещаем скрипт, например, в

C:\Scripts\LogsRotation.ps1

А в Tаsk Scheduler создаем задание выполнять каждый день

powershell.exe C:\Scripts\LogsRotation.ps1

В системе должен быть разрешен запуск неподписанных скриптов PowerShell

Set-ExecutionPolicy remotesigned

Скачать архив с скриптом и файлом импорта task Scheduler

Categories: Exchange Tags: , , ,

Восстановление удаленных объектов из корзины Active Directory

2 апреля 2015 Нет комментариев

Перед тем как мы сможем что-то восстановить необходимо включить Active Directory Recycle Bin

Для включения корзины Active Directory необходимо чтобы режим работы леса был не ниже Windows Server 2008 R2.

Включение корзины Active Directory для contoso.com

Enable-ADOptionalFeature -Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=contoso,DC=com’ –Scope ForestOrConfigurationSet –Target ‘contoso.com’

Теперь легко можно восстанавливать объекты AD со всеми атрибутами удаленные за последние 180 дней

Восстановление отдельной учетной записи

Get-ADObject -Filter {displayName -eq "Zalozny" -and isDeleted -eq $True} -IncludeDeletedObjects
Get-ADObject -Filter {displayName -eq "Zalozny" -and isDeleted -eq $True} -IncludeDeletedObjects | Restore-ADObject

Восстановление удаленного OU

Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=Finance_Department)" –IncludeDeletedObjects | Restore-ADObject

Восстановление всех объектов из удаленного OU

Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -Filter {lastKnownParent -eq "OU=Finance_Department,DC=contoso,DC=com"} -IncludeDeletedObjects | Restore-ADObject

Работа с правилами Exchange

2 апреля 2015 Нет комментариев

Просмотреть правила по ящику

Get-InboxRule -mailbox Alexander.Zalozny@zalozny.com.ua |fl

Найти все правила с ошибкой и удалить их

Get-Mailbox  -ResultSize unlimited | Get-InboxRule -ErrorAction:SilentlyContinue | where-object{$_.InError -eq $True} | Remove-InboxRule -Confirm:$False

Найти все правила с переадресацией и удалить их

Get-Mailbox  -ResultSize unlimited | Get-InboxRule -ErrorAction:SilentlyContinue -WarningAction:SilentlyContinue | where-object{$_.ForwardTo -ne $null} | Remove-InboxRule -Confirm:$False

Запрос поиска правила с переадресацией с более подробным выводом

ForEach ($m in (Get-Mailbox -ResultSize Unlimited)) { Get-InboxRule -Mailbox $m.DistinguishedName | where{$_.ForwardTo } | fl MailboxOwnerID,Name,ForwardTo }

Запрос поиска правила с редиректом с более подробным выводом

ForEach ($m in (Get-Mailbox -ResultSize Unlimited)) { Get-InboxRule -Mailbox $m.DistinguishedName | where {$_.ReDirectTo} | fl MailboxOwnerID,Name,RedirectTo
Categories: Exchange Tags: ,

Полезные команды Exchange Management Shell

2 апреля 2015 Нет комментариев

Полезные команды Exchange Management Shell

Читать далее…

Categories: Exchange Tags: ,