Перейти к содержимому

Как создать учётные записи с помощью powershell в AD из csv

Import-Csv -Path C:\1.csv -Encoding Default -Delimiter ";" | sort CN |
foreach-object{
#New-ADUser -Name $_.Full_Name -AccountPassword (ConvertTo-SecureString 'password!' -AsPlainText -force) -CannotChangePassword $True -Description $_.Desc -DisplayName $_.Full_Name -EmailAddress $_.Email -Enabled $False -GivenName $_.First_Name -HomeDirectory $_.Homedir -HomeDrive $Homedri -PasswordNeverExpires $True -Path $_.Path -SamAccountName $_.Email -ScriptPath LogonS.cmd -Surname $_.Last_Name -UserPrincipalName $_.Email -passthru
#Write-Host $_.SamAccountName
$filter="SamAccountName -eq '"+$_.SamAccountName+"'"
$usrexist=get-aduser -filter $filter
#Write-Host $_.SamAccountName
#Write-Host $_.SamAccountName
if ($usrexist -eq $null)
{
Write-Host "Username" $_.CN "not exists " $_.SamAccountName.Length
if ($_.SamAccountName.Length -gt 20 ) { $_.SamAccountName=$_.SamAccountName.Substring(0,20)
Write-Host $_.SamAccountName}
if (!$_.emailaddress){ $_.emailaddress=$_.SamAccountName+'@domen.ru'}
# write-host -Name $_.CN -DisplayName $_.DisplayName -City $_.City -Department $_.Department -Surname $_.Surname -GivenName $_.Givenname -SamAccountName 
Читать далее

Как установить winlogbeat для elk kibana на windows server

Задача собрать логи с windows server с помощью winlogbeat. Качаем актуальную версию winlogbeat https://artifacts.elastic.co/downloads/beats/winlogbeat/winlogbeat-7.9.1-windows-x86_64.zip 

Распаковываем на сервер. переименовываем в winlogbeat. Копируем в C:\Program Files .

После этого запускаем установку

cd 'C:\Program Files\Winlogbeat'
.\install-service-winlogbeat.ps1

Проверяем что служба установилась Как установить winlogbeat для elk kibana на windows server

После этого правим конфиг

У меня так

winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h

  - name: System

  - name: Security
    processors:
      - script:
          lang: javascript
          id: security
          file: ${path.home}/module/security/config/winlogbeat-security.js

  - name: Microsoft-Windows-Sysmon/Operational
    processors:
      - script:
          lang: javascript
          id: sysmon
          file: ${path.home}/module/sysmon/config/winlogbeat-sysmon.js

  - name: Windows PowerShell
    event_id: 400, 403, 600, 800
    processors:
      - script:
          lang: javascript
          id: powershell
          file: ${path.home}/module/powershell/config/winlogbeat-powershell.js

  - name: Microsoft-Windows-PowerShell/Operational
    event_id: 4103, 
Читать далее

Как с помощью powershell через групповые политики узнать на каких пк нужно дефрагментировать диск и время выполнения политик

Задача собрать информацию с пк пользователей сколько времени выполняются групповые политики и на каких пк нужно выполнить дефрагментацию диска

Написал скрипт и засунул в запланированное задание с помощью групповой политики скрипт

$name=hostname
$Yesterday = (Get-Date) - (New-TimeSpan -Day 2)
get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational"  | Where-Object {$_.ID -like ‘800*’} |  Where-Object {$_.TimeCreated -ge $Yesterday }|  Export-Csv \\имя сервера\test\gpo\$name.csv -Delimiter ";" -Encoding UTF8
$vols = Get-WmiObject  Win32_Volume -filter "DriveType=3"
$defragInfo = $vols | %{$_.DefragAnalysis() | add-member -membertype noteproperty vname $_.name -passThru}
$name2 = $defragInfo | %{$_.DefragRecommended} 
$name3 = $name + ';' + $name2
$defragInfo | %{$_.DefragAnalysis | add-member -membertype noteproperty DefragRecommended $_.DefragRecommended -passThru 
Читать далее

Как с помощью 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, имеет одностороннее отношение доверия с другим лесом или доменом,

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