Как с помощью powershell посмотреть event log gpo журнал выполнение групповых политик на разных пк.

Задача выяснить сколько выполняются групповые политики на разных пк в сети.  Applications and Services Logs –> Microsoft -> Windows -> Applications and Services Logs -> Group Policy -> Operational.

$S = Get-Content C:\tmp2.txt
ForEach ($Server in $S) {

get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational" -ComputerName $Server | Select-Object TimeCreated,Message,Id, @{name='ComputerName'; expression={$Server}} | Where-Object {$_.ID -like ‘500*’} |  Format-Table -AutoSize

}

c:\temp2 список пк с новой строки.

Для анализа времени применения политик будут полезны следующие EventID:

  • События 4016 и 5016 показывают время начала и завышения процесса обработки расширений применения GPO, причем в последнем указано общую длительность обработки расширения.Включен фильтр журнала Group Policy ->
Читать далее

Как установить System Center Operations Manager (SCOM) 2019

Поскольку это чистый, ванильный сервер Windows 2019, нам нужно будет установить все необходимые компоненты веб-консоли вместе с элементами управления Report Viewer (возможно, SQL CLR-типы тоже …).

  • Чтобы узнать о предварительных требованиях к Report Viewer, перейдите ЗДЕСЬ .
  • Вот команда PowerShell, которую я выполнил для установки необходимых функций / ролей IIS:
Import-Module ServerManager
Add-WindowsFeature Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Performance, Web-Stat-Compression, Web-Security, Web-Filtering, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext45, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, NET-Framework-45-Features, NET-Framework-45-Core, NET-Framework-45-ASPNET, NET-WCF-Services45, NET-WCF-HTTP-Activation45, NET-WCF-TCP-PortSharing45, WAS, WAS-Process-Model, WAS-Config-APIs -restart

Как только сервер снова будет в сети, вам нужно будет зарегистрировать ASP.Net.… Читать далее

Как обновить драйвер QLogic Fibre Channel на esxi 6.7. PSOD пурпурный экран смерти.

У нас была проблема что чистый esxi 6.7 валился в psod пурпурный экран смерти на blade сервере ProLiant BL460c Gen9. В ошибке писал usb устройство но usb не было вставлено. После изучения дампа нашел запись про Fibre Channel.

Сначала нужно определить какой драйвер используется у нас и какой адаптер.

Подключился по ssh на esxi хост. Перед эти включил ssh

Как обновить драйвер QLogic Fibre Channel на esxi 6.7. PSOD пурпурный экран смерти.

После этого определил модель Fibre Channel

esxcfg-scsidevs -a

Как обновить драйвер QLogic Fibre Channel на esxi 6.7. PSOD пурпурный экран смерти.

После этого определил модель и версию драйвера

vmkload_mod -s qlnativefc |grep Version

Как обновить драйвер QLogic Fibre Channel на esxi 6.7. PSOD пурпурный экран смерти.

Скачал драйвер с сайта.

https://www.vmware.com/resources/compatibility/detail.php?deviceCategory=io&productid=20791

Закинул драйвер на esxi. И установил его

esxcli software vib update -d VMW-ESX-6.7.0-qlnativefc-3.1.31.0-offline_bundle-15336880.zip

После установки ребут … Читать далее

Как исправить ошибку Veeam Failed to call RPC function ‘PckgFind’

После установки нового сервера управления Veeam и перетаскивания на него серверов для бэкапов появилась ошибка . Discovering installed packages Error: Failed to call RPC function ‘PckgFind’

Как исправить ошибку Veeam Failed to call RPC function 'PckgFind'

Заходим на сервер на котором ошибка.

Так как у нас используется hyper-v server 2016. То будем удалять через Powershell.

Выводим список программ установленных

Get-WmiObject Win32_Product | ft name,version,vendor,packagename

Как исправить ошибку Veeam Failed to call RPC function 'PckgFind'

Удаляем

Veeam Hyper-V Integration
Veeam Backup Transport

(Get-WmiObject Win32_Product -Filter "Name ='Veeam Backup Transport'").Uninstall()
(Get-WmiObject Win32_Product -Filter "Name ='Veeam Hyper-V Integration'").Uninstall()

После этого все установится.

Как сбросить зависшую сессию с rdp терминала. rds

# Сброс зависших сессий, добавьте в расписание на своем скрипт сервере
Function RDP_Resetfailure($server){
  $ts = qwinsta /server
  $td = ($ts | where { ($_ -like "*Disc*" -or $_ -like "*Диск*" -or $_ -like "*ЁбЄ*" ) -and $_ -notlike "*services*"})
  $tdselect = $td # Для отладки или внесения в лог: Login Id State
  $td = $td -ireplace ("[^0-9]","") # оставляем только id сессий
  for($i=0; $i -lt $td.Count; $i++){
    Write-Host Reset RDP Failture session ID: $td[$i] $tdselect[$i]      #отладка просмотр id сессий
    rwinsta $td[$i] /server           # сброс зависших сессий, раскомментируйте эту строку
  }
}

$server = "MyRDPServer"
RDP_Resetfailure($server)

 

Как подружить sharepoint с несколькими доменами. Трасты, лес домена.

Как добавить пользователей в sharepoint из другого домена.

Развернули новый домен и надо добавить группы пользователей в sharepoint из нового домена.

Зайдём на сервер sharepoint

Запустим команду

Get-SPWebApplication

Узнаем url нашего sharepoint

Теперь команда для полного траста

tsadm -o setproperty -pn peoplepicker-searchadforests -pv "forest:MY-DOMAIN.local;forest:TRUSTED-DOMAIN.local;domain:MY-DOMAIN.local;domain:TRUSTED-DOMAIN.local" -url http://my-sp2013-site.com.au/

Для одного домена

STSADM.exe -o setproperty -propertyname peoplepicker-searchadforests -propertyvalue "domain:test.com;forest:uganda.com,uganda\user,123456" -url  http://sharepoint.com

Проверяем связь

STSADM.exe -o getproperty -propertyname peoplepicker-searchadforests -url http://sharepoint.com

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

Если лес или домен, где установлен SharePoint 2013, имеет одностороннее отношение доверия с другим лесом или доменом,

необходимо … Читать далее

Как завершить сессию на всех серверах в локальной сети.

Проблема при смене пароля на серверах остались отключенные сессии . Из-за этого блокируется учётная запись. Надо сессию завершить на всех серверах . но так как серверов больше 500 в ручную делать это негуманно к себе.

вот скрипт . Запускается от пользователя которого надо завершить

param (
        #get current logged on username
        [string]$UserName = $env:USERNAME
    )

    # Импортировать модуль Active Directory для Get-ADComputer CmdLet
    Import-Module ActiveDirectory


    # Запрос Active Directory для включенных учетных записей компьютеров серверов Windows и сортировка по имени
    $Servers = Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (Enabled -eq "True")} | Sort Name

    
# Инициирующие переменные
    $SessionList = $NULL
    
Читать далее

Как вывести список пользователей которые состоят в группе.

Задача вывести пользователей из определенной группы , но. Группа имеет в себе пользователей из разных лесов домена.

И по этому команда  Get-ADGroupMember «1c Base ZUP(Zup_TE)» не работает . пишет ошибка :

Get-ADGroupMember : Произошла неопределенная ошибка
строка:1 знак:1
+ Get-ADGroupMember "1c Base ZUP(Zup_TE)"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (1c Base ZUP(Zup_TE):ADGroup) [Get-ADGroupMember], ADException
    + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember



Get-ADGroupMember : The operation completed successfully
At line:1 char:1
+ Get-ADGroupMember -Identity "1c Base ZUP(Zup_TE)" | foreach { Get-ADUser $_ -Pro ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (1c Base ZUP(Zup_TE):ADGroup) [Get-ADGroupMember], ADException
    + FullyQualifiedErrorId : The operation completed successfully,Microsoft.ActiveDirectory.Management.Commands.GetAD
   GroupMember

Пошел … Читать далее