Способ первый:
В ветке реестра
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall] |
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
находим ветку с нашим приложением и внутри ее создаем параметр типа DWORD с именем SystemComponent и значением 1
"SystemComponent"=dword:00000001 |
"SystemComponent"=dword:00000001
Если приложение установлено под правами пользователя то искать нужно в ветке
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall] |
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall]
Если приложение 32-х битное а Windows x64 то искать нужно в этой ветре
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall] |
[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 |
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 |
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\uTorrent]
"SystemComponent"=dword:00000001
Способ второй:
переименовать параметр DisplayName на QuietDisplayName
Если случайно были удалены файлы профиля пользователя, то при следующем входе пользователю будет создаваться временный профиль.
Чтобы это исправить нужно также удалить запись удаленного профиля в этой ветке реестра:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList] |
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]
Для автоматизации создания стандартных подписей используя данные из Active Directory в интернете есть немало скриптов, в том числе на PowerShell.
Скрипт на PowerShell мне не понравился по нескольким причинам:
Выполняется заметно дольше чем на VBS.
Необходимо разрешать выполнение не подписанных скриптов на клиентах.
Без напильника не обновляет подпись при изменениях в AD, а по новому генерировать подпись при каждом логоне — тяжеловат.
Поэтому был выбрал простой скрипт на VBS и модифицирован под свои нужды.
Данный скрипт создает две подписи (обычную и короткую) и назначает их соответственно для новых писем и ответов.
Так как в скрипте если кириллические символы файл нужно сохранить в кодировке Unicode.
Сохраняем, например, как StandardSignature.vbs и добавляем в Logon скрипты объекта групповой политики назначенного на пользователей.
Читать далее…
Создаем файл конфигурации Scripting Agent
C:\Program Files\Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml |
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> |
<?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” |
[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:\> |
[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:\>
В один прекрасный день обнаружил что на системном томе сервера с установленным 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 |
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 |
C:\Scripts\LogsRotation.ps1
А в Tаsk Scheduler создаем задание выполнять каждый день
powershell.exe C:\Scripts\LogsRotation.ps1 |
powershell.exe C:\Scripts\LogsRotation.ps1
В системе должен быть разрешен запуск неподписанных скриптов PowerShell
Set-ExecutionPolicy remotesigned |
Set-ExecutionPolicy remotesigned
Скачать архив с скриптом и файлом импорта task Scheduler
Перед тем как мы сможем что-то восстановить необходимо включить 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’ |
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 |
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 |
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 |
Get-ADObject -SearchBase "CN=Deleted Objects,DC=contoso,DC=com" -Filter {lastKnownParent -eq "OU=Finance_Department,DC=contoso,DC=com"} -IncludeDeletedObjects | Restore-ADObject
Просмотреть правила по ящику
Get-InboxRule -mailbox Alexander.Zalozny@zalozny.com.ua |fl |
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 | 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 |
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{$_.ForwardTo } | fl MailboxOwnerID,Name,ForwardTo }
Запрос поиска правила с редиректом с более подробным выводом
ForEach ($m in (Get-Mailbox -ResultSize Unlimited)) { Get-InboxRule -Mailbox $m.DistinguishedName | where {$_.ReDirectTo} | fl MailboxOwnerID,Name,RedirectTo |
ForEach ($m in (Get-Mailbox -ResultSize Unlimited)) { Get-InboxRule -Mailbox $m.DistinguishedName | where {$_.ReDirectTo} | fl MailboxOwnerID,Name,RedirectTo
Полезные команды Exchange Management Shell
Читать далее…
Фильтры WMI позволяют динамически определять будет ли применяться политика в зависимости от атрибутов обьекта.
Версии ОС:
Windows Server 2012 R2 — 6.3
Windows Server 2012 и Windows 8 – 6.2
Windows Server 2008 R2 и Windows 7 – 6.1
Windows Server 2008 и Windows Vista – 6.0
Windows Server 2003 – 5.2
Windows XP – 5.1
Типы ОС:
Рабочая станция — ProductType=1
Контроллер домена — ProductType=2
Сервер — ProductType=3
Читать далее…
Если используется перенаправление для службы Autodiscover, то пользователи получат предупреждение вида
Разрешить этому веб-узлу настроить параметры сервера user1@contoso.com?
https://Mail.domain.com/Autodiscover/Autodiscover.XML
Ваша учетная запись была перенаправлена на этого веб-узла для настройки.
Следует разрешать только параметры и надежных источников известно.
Чтобы этого избежать нужно создать параметр типа String (REG_SZ) и именем равным имени домена на которые перенаправляется Autodiscover
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover.domain.com"="" |
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover.domain.com"=""
http://support.microsoft.com/en-us/kb/2480582
Свежие комментарии