uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi πŸ‘‰ Belgini koβ€˜rmoqchi boβ€˜lsangiz, obuna boβ€˜ling

БистСмный Администратор Windows

БистСмный Администратор Windows

Kanalga Telegram’da oβ€˜tish

πŸ–₯️ Windows для систСмных администраторов: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, оптимизация, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты, Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ, PowerShell-скрипты, автоматизация ΠΈ практичСскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвСрами ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ станциями. Авторский ΠΊΠ°Π½Π°Π».

Ko'proq ko'rsatish
3 087
Obunachilar
-124 soatlar
-57 kun
-730 kun
Postlar arxiv
πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! НуТно Π±Ρ‹Π»ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ»ΠΎΠ³ΠΈΠ½ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ стСндового сСрвСра Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ сСти - Π±Π΅Π· Π΄ΠΎΠΌΠ΅Π½Π°, Π±Π΅Π· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, просто Ρ‡Ρ‚ΠΎΠ±Ρ‹ поднимался Π½ΡƒΠΆΠ½Ρ‹ΠΉ софт послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π Π΅ΡˆΠ°Π΅Ρ‚ΡΡ это Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рССстра:

$RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Set-ItemProperty -Path $RegPath -Name "AutoAdminLogon" -Value "1"
Set-ItemProperty -Path $RegPath -Name "DefaultUsername" -Value "UserName"
Set-ItemProperty -Path $RegPath -Name "DefaultPassword" -Value "UserPassword"
Set-ItemProperty -Path $RegPath -Name "DefaultDomainName" -Value "$env:COMPUTERNAME"
⚠️ ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠ°Ρ€ΠΎΠ»ΡŒ хранится Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅ Π² рССстрС (DefaultPassword), поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² бСзопасной срСдС. πŸ›‘οΈ Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ способ - Ρ‡Π΅Ρ€Π΅Π· netplwiz, Π½ΠΎ ΠΎΠ½ Π½Π΅ автоматизируСтся скриптами. А Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡ΡƒΡ‚ΡŒ бСзопаснСС β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи Π±Π΅Π· доступа ΠΊ сСти ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ. πŸ”„ ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ β€” Π»ΠΈΠ±ΠΎ Ρ€Π΅Π±ΡƒΡ‚, Π»ΠΈΠ±ΠΎ shutdown /r /t 0 для примСнСния. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! Как массово ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статус слуТб Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвСрах? ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π½Π΅ просто Π³Π»ΡΠ½ΡƒΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π° ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ критичСски Π²Π°ΠΆΠ½Ρ‹Π΅ сСрвисы (Ρ‚ΠΈΠΏΠ° w32time, WinRM, TermService) Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² состоянии Running. НиТС собствСнно скрипт

$servers = @("server1", "server2", "server3")
$servicesToCheck = @("w32time", "WinRM", "TermService")

foreach ($server in $servers) {
    Write-Host "πŸ” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° $server" -ForegroundColor Cyan
    foreach ($service in $servicesToCheck) {
        $status = Get-Service -ComputerName $server -Name $service -ErrorAction SilentlyContinue
        if ($status.Status -eq 'Running') {
            Write-Host "$service: OK" -ForegroundColor Green
        } else {
            Write-Host "$service: НЕ Π ΠΠ‘ΠžΠ’ΠΠ•Π’!" -ForegroundColor Red
        }
    }
    Write-Host ""
}
Π£Π΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ быстро ΠΏΡ€ΠΎΠ³Π½Π°Ρ‚ΡŒ ΠΏΠΎ дСсятку машин. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! БСгодня ΠΏΠΎΠΊΠ°ΠΆΡƒ, ΠΊΠ°ΠΊ быстро Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ зависший сСрвис Ρ‡Π΅Ρ€Π΅Π· PowerShell. πŸ“ŒΠ‘Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° сСрвис Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ "Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚", статус Running, Π½ΠΎ ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π½Π΅ выполняСт свои Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ с Π°Π³Π΅Π½Ρ‚Π°ΠΌΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, антивирусами ΠΈ Π΄Π°ΠΆΠ΅ SQL Server. НиТС скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ "Π·ΠΎΠΌΠ±ΠΈ-сСрвисы" ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ…:

$serviceName = "Имя_сСрвиса"
$svc = Get-Service -Name $serviceName

if ($svc.Status -eq "Running") {
    $process = Get-WmiObject Win32_Service | Where-Object { $_.Name -eq $serviceName }
    if ($process.ProcessId -ne 0) {
        Write-Host "БСрвис Π·Π°ΠΏΡƒΡ‰Π΅Π½ с PID $($process.ProcessId). ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΠΌ..."
        Restart-Service -Name $serviceName -Force
    } else {
        Write-Host "PID Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° – ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ!"
    }
} else {
    Write-Host "БСрвис Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½. Бтатус: $($svc.Status)"
}
πŸ’‘ Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π° Ρ‚Π΅Ρ… сСрвСрах, Π³Π΄Π΅ Π½Π΅Ρ‚ стороннСго ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π° врСмя рСагирования ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! Как быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° логинился Π½Π° сСрвСр ΠΈΠ»ΠΈ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ? ОсобСнно Ссли подозрСния Π½Π° Π²Π·Π»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π΅ΡƒΡ€ΠΎΡ‡Π½ΠΎΠ΅ врСмя (хотя сам Ρ‚Π°ΠΊ дСлаю, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½ΠΎΡ‡ΡŒΡŽ). Π”Π°Π½Π½Ρ‹ΠΉ PowerShell-скрипт Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ Π»ΠΎΠ³ΠΈ Π²Ρ…ΠΎΠ΄Π° Π² систСму (Event ID 4624) ΠΈΠ· ΠΆΡƒΡ€Π½Π°Π»Π° бСзопасности:

Get-WinEvent -FilterHashtable @{
    LogName = 'Security';
    Id = 4624;
    StartTime = (Get-Date).AddDays(-1)
} | ForEach-Object {
    $xml = [xml]$_.ToXml()
    [PSCustomObject]@{
        TimeCreated = $_.TimeCreated
        AccountName = $xml.Event.EventData.Data | Where-Object {$_.Name -eq "TargetUserName"} | Select-Object -ExpandProperty '#text'
        IPAddress   = $xml.Event.EventData.Data | Where-Object {$_.Name -eq "IpAddress"} | Select-Object -ExpandProperty '#text'
        LogonType   = $xml.Event.EventData.Data | Where-Object {$_.Name -eq "LogonType"} | Select-Object -ExpandProperty '#text'
    }
} | Where-Object { $_.AccountName -ne "ANONYMOUS LOGON" -and $_.LogonType -eq "10" } | Sort-Object TimeCreated
πŸ“Œ LogonType = 10 - это ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ (RDP). πŸ“Œ МоТно Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° 2, Ссли Π½ΡƒΠΆΠ΅Π½ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π»ΠΎΠ³ΠΎΠ½. πŸ“Œ Или ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всё. ПолСзно для расслСдований, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° активности Π°Π΄ΠΌΠΈΠ½ΠΎΠ², Π° Π΅Ρ‰Ρ‘, Ссли Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ "ΠΊΡ‚ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΠ» Π½ΠΎΡ‡ΡŒΡŽ" πŸ˜… (Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π° сСбя Π½Π΅ Π²Ρ‹ΠΉΡ‚ΠΈ πŸ˜‚) πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! Π•ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Ρ‚Ρ€ΡŽΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Windows-сСрвСру - особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ссли сСрвСр доступСн ΠΈΠ·Π²Π½Π΅. πŸ”₯ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ входящиС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Get-NetTCPConnection -State Established | Where-Object { $_.RemoteAddress -ne '127.0.0.1' } | 
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess | 
Sort-Object -Property RemoteAddress
А Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ процСсс стоит Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠΌ это:

Get-NetTCPConnection -State Established | 
Where-Object { $_.RemoteAddress -ne '127.0.0.1' } |
ForEach-Object {
    $proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
    [PSCustomObject]@{
        RemoteAddress = $_.RemoteAddress
        RemotePort    = $_.RemotePort
        LocalPort     = $_.LocalPort
        ProcessName   = $proc.ProcessName
        PID           = $_.OwningProcess
    }
} | Sort-Object RemoteAddress
πŸ“Œ Π­Ρ‚ΠΎΡ‚ способ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ: - Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ RDP ΠΈΠ»ΠΈ кастомным ΠΏΠΎΡ€Ρ‚Π°ΠΌ; - нСизвСстныС процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ β€œΠ²ΠΈΡΡΡ‚β€ Π² сСти; - ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ бэкдор ΠΈΠ»ΠΈ троян. ΠŸΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ это Π½Π° рСгулярный ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ‡Π΅Ρ€Π΅Π· таск ΠΈΠ»ΠΈ скрипт с Π»ΠΎΠ³ΠΎΠΌ Π² Ρ„Π°ΠΉΠ». πŸ‘‰ @win_sysadmin

πŸš€ ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… IT ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² Max БистСмноС администрированиС, DevOps πŸ“Œ https://max.ru/i_odmin ВсС для систСмного администратора https://max.ru/bash_srv Bash Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ https://max.ru/sysadminof Книги для Π°Π΄ΠΌΠΈΠ½ΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ https://max.ru/i_odmin_book Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° БистСмного Администратора https://max.ru/i_devops DevOps: ПишСм ΠΎ Docker, Kubernetes ΠΈ Π΄Ρ€. https://max.ru/tipsysdmin Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Бисадмин Excel Π»Π°ΠΉΡ„Ρ…Π°ΠΊ πŸ“Œ https://t.me/Excel_lifehack Excel Π»Π°ΠΉΡ„Ρ…Π°ΠΊ 1C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/odin1c_rus CΡ‚Π°Ρ‚ΡŒΠΈ, курсы, совСты, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π° 1Π‘ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ C++πŸ“Œ https://max.ru/cpp_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C/C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ GoπŸ“Œ https://max.ru/golang_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go (Golang) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ReactπŸ“Œ https://max.ru/react_lib React ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Python πŸ“Œ https://max.ru/python_of Python акадСмия. https://max.ru/BookPython Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/bookjava Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° GitHub БообщСство πŸ“Œ https://max.ru/githublib Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠ΅ ΠΈΠ· GitHub Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Data Base) πŸ“Œ https://max.ru/database_info ВсС ΠΏΡ€ΠΎ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/frontend_1 ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ для frontend Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ πŸ“Œ https://max.ru/programmist_of Книги ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ https://max.ru/proglb Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста https://max.ru/bfbook Книги для программистов ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ πŸ“Œ https://max.ru/bookflow Π›Π΅ΠΊΡ†ΠΈΠΈ, Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΈ, Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ с IT ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ https://max.ru/itmozg ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, новости ΠΈΠ· ΠΌΠΈΡ€Π° IT https://max.ru/php_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PHP программиста πŸ‘¨πŸΌβ€πŸ’»πŸ‘©β€πŸ’» Π¨ΡƒΡ‚ΠΊΠΈ программистов πŸ“Œ https://max.ru/itumor Π¨ΡƒΡ‚ΠΊΠΈ программистов Π—Π°Ρ‰ΠΈΡ‚Π°, Π²Π·Π»ΠΎΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ πŸ“Œ https://max.ru/thehaking Канал ΠΎ кибСрбСзопасности https://max.ru/xakkep_1 Π₯Π°ΠΊΠ΅Ρ€ Free Книги, ΡΡ‚Π°Ρ‚ΡŒΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² πŸ“Œ https://max.ru/odesigners Π‘Ρ‚Π°Ρ‚ΡŒΠΈ, ΠΊΠ½ΠΈΠ³ΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° πŸ“Œ https://max.ru/Pomatematike Канал ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ https://max.ru/phismat_1 ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π€ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Вакансии πŸ“Œ https://max.ru/progjob Вакансии Π² IT ΠœΠΈΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ πŸ“Œ https://max.ru/mir_teh Канал для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Бонус πŸ“Œ https://max.ru/piterspb_78 Π‘Π²Π΅ΠΆΠΈΠ΅ новости Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π° https://max.ru/mockva_life Π‘Π²Π΅ΠΆΠΈΠ΅ новости ΠœΠΎΡΠΊΠ²Ρ‹ https://max.ru/piterspb ΠŸΠΈΡ‚Π΅Ρ€ Новости: Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ / Π‘ΠŸΠ‘ / Π”Π’ΠŸ

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! НуТно Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π² ΠΊΠΎΠ½Ρ†Π΅ дня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ гоняли лишнСС элСктричСство. Π ΡƒΡ‡ΠΊΠ°ΠΌΠΈ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ - ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ Π½ΠΈΠΆΠ΅ срСднСго, поэтому сразу ΠΏΠΎΡˆΡ‘Π» Ρ‡Π΅Ρ€Π΅Π· PowerShell. πŸ”₯ Π’ΠΎΡ‚ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π³Π°Π΅Ρ‚ ΠΏΠΎ списку ΠΈΠΌΠ΅Π½ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΡ… ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ:

$computers = Get-Content "C:\Scripts\pc_list.txt"

foreach ($pc in $computers) {
    try {
        Write-Host "Π’Ρ‹ΠΊΠ»ΡŽΡ‡Π°ΡŽ $pc..." -ForegroundColor Yellow
        Stop-Computer -ComputerName $pc -Force -ErrorAction Stop
        Write-Host "$pc Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½." -ForegroundColor Green
    } catch {
        Write-Host "НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ $pc: $_" -ForegroundColor Red
    }
}
βœ… Π’ Ρ„Π°ΠΉΠ»Π΅ pc_list.txt - просто список ΠΈΠΌΠ΅Π½ ΠΈΠ»ΠΈ IP адрСсов, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π½Π° строку. πŸ’‘ НС Π·Π°Π±ΡƒΠ΄ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всё сработало, Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… ПК Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° слуТба WMI ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½ доступ Ρ‡Π΅Ρ€Π΅Π· брандмауэр. И ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, запускай ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ администратора. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! НСдавно Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ срочно Π½Π°ΠΉΡ‚ΠΈ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ» слуТбу Windows Defender Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· сСрвСров. Π’ ΠΆΡƒΡ€Π½Π°Π»Π΅ событий ΠΊΡƒΡ‡Π° мусора, стандартный просмотр Ρ‡Π΅Ρ€Π΅Π· Event Viewer - Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ πŸ˜… Π’ Ρ‚Π°ΠΊΠΈΡ… случаях PowerShell - нашС всё. Π’ΠΎΡ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ спас мСня:

Get-WinEvent -LogName "System" -FilterXPath "*[System[Provider[@Name='Service Control Manager'] and (EventID=7036)]]" |
Where-Object { $_.Message -like "*Windows Defender*" -and $_.Message -like "*stopped*" } |
Select-Object TimeCreated, Message
πŸ“Œ Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ этот скрипт: - Π€ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ события 7036 - это смСна состояния слуТб; - Π˜Ρ‰Π΅Ρ‚ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам Π² сообщСнии (stopped ΠΈ Windows Defender); - ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ слуТба Π±Ρ‹Π»Π° остановлСна. πŸ”₯ Быстро, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ Π±Π΅Π· GUI. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π»ΡŽΠ±Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… сСрвисов. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! Π’ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… организациях часто Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ: ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ списали, ΠΈΠ· Π΄ΠΎΠΌΠ΅Π½Π° Π²Ρ‹Π²Π΅Π»ΠΈ, Π° ΡƒΡ‡Π΅Ρ‚ΠΊΡƒ Π² AD Π·Π°Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ‚Π°ΠΊΠΈΡ… β€œΠΎΡΠΈΡ€ΠΎΡ‚Π΅Π²ΡˆΠΈΡ…β€ записСй становится всё большС - ΠΈ Π²ΠΎΡ‚ ΡƒΠΆΠ΅ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² AD раздуваСтся, ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ Π±Π°Ρ€Π΄Π°ΠΊ. Найти Ρ‚Π°ΠΊΠΈΠ΅ "Π·Π°Π±Ρ‹Ρ‚Ρ‹Π΅" ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнного инструмСнта PowerShell. πŸ“Œ Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½ΠΈΠΆΠ΅ ΠΈΡ‰Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ логинились Π² Π΄ΠΎΠΌΠ΅Π½ 90+ Π΄Π½Π΅ΠΉ, сохраняСт список Π² Ρ„Π°ΠΉΠ» ΠΈ отправляСт Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· SMTP:

# Настройки
$days = 90
$time = (Get-Date).AddDays(-$days)
$exportPath = "C:\Scripts\StaleComputers.csv"

# Поиск ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²
$computers = Get-ADComputer -Filter {LastLogonDate -lt $time -and Enabled -eq $true} -Properties LastLogonDate |
    Select-Object Name, LastLogonDate, DistinguishedName

# Экспорт Π² CSV
$computers | Export-Csv -Path $exportPath -NoTypeInformation -Encoding UTF8

# ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ SMTP
$smtpServer = "smtp.yourdomain.local"
$from = "report@yourdomain.local"
$to = "admin@yourdomain.local"
$subject = "ΠžΡ‚Ρ‡Π΅Ρ‚: Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²"
$body = "Π’ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ список ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΠ²ΡˆΠΈΡ… Π² Π΄ΠΎΠΌΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ $days Π΄Π½Π΅ΠΉ."

# ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° письма
Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Attachments $exportPath
βœ… ИдСально Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ скрипт ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· Task Scheduler Ρ€Π°Π· Π² мСсяц! πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! БСгодня Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ скрытых ΠΏΠΎΠΆΠΈΡ€Π°Ρ‚Π΅Π»Π΅ΠΉ рСсурсов Π² Windows ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… быстро Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ. Π‘Ρ‹Π²Π°Π΅Ρ‚, сСрвСр Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ пСриодичСски ΠΏΠΎΠ΄Ρ‚ΠΎΡ€ΠΌΠ°ΠΆΠΈΠ²Π°Π΅Ρ‚. CPU Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½, RAM Π² Π½ΠΎΡ€ΠΌΠ΅, диск Π½Π΅ Ρ‚Ρ€Π΅Ρ‰ΠΈΡ‚, Π° Π»Π°Π³ΠΈ Π΅ΡΡ‚ΡŒ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях я ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽ скрытыС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ диспСтчСрС Π·Π°Π΄Π°Ρ‡. πŸ”₯ Π’ΠΎΡ‚ ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² PowerShell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°: 1️⃣ ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ с аномально высоким ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ дСскрипторов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π² сСрвисах):

Get-Process | Sort-Object -Property Handles -Descending | Select-Object -First 10
Если Π²ΠΈΠ΄ΠΈΡ‚Π΅ процСсс с сотнями тысяч дСскрипторов – это Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹ΠΉ Π·Π²ΠΎΠ½ΠΎΡ‡Π΅ΠΊ. 2️⃣ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° использования сСти процСссами (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π±ΠΎΠ»Ρ‚Π»ΠΈΠ²Ρ‹Π΅ слуТбы):

Get-NetTCPConnection | Group-Object -Property OwningProcess | Sort-Object Count -Descending | Select-Object -First 10
Выяснит, ΠΊΠ°ΠΊΠΈΠ΅ процСссы Π΄Π΅Ρ€ΠΆΠ°Ρ‚ максимум соСдинСний. ОсобСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли сСрвСр Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΡΠ΅Ρ‚ΡŒ. 3️⃣ Π€Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Ρ€ΠΆΠΈΡ‚ процСсс (ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, ΠΊΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠ·ΠΈΡ‚ диск):

Get-Process | Sort-Object -Property Handles -Descending | Select-Object -First 10
Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°, Ссли диск занят, Π½ΠΎ Π½Π΅ ясно, ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ‡Π°Π΅Ρ‚. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! БСгодня Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ΄Π½Ρƒ ΠΈΠ· самых нСприятных ситуаций – ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи Π±Π»
πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! БСгодня Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΎΠ΄Π½Ρƒ ΠΈΠ· самых нСприятных ситуаций – ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ записи Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±Π΅Π· Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½. Π Π°Π·Π±ΠΈΡ€Π°Π΅ΡˆΡŒΡΡ Π² Π»ΠΎΠ³Π°Ρ… – Π° Ρ‚Π°ΠΌ Event ID 4740 с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ? πŸ”₯ PowerShell спасаСт! Π’ΠΎΡ‚ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро Π½Π°ΠΉΡ‚ΠΈ источник Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ:

$LockedUser = "user@domain.com"  # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚
Get-WinEvent -LogName Security | Where-Object { 
    $_.Id -eq 4740 -and $_.Message -match $LockedUser 
} | Select-Object TimeCreated, @{n="Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ";e={($_.Properties[1].Value)}}
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ просканируСт ΠΆΡƒΡ€Π½Π°Π» бСзопасности, Π½Π°ΠΉΠ΄Π΅Ρ‚ всС события 4740 (Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи) ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Если Π²ΠΈΠ΄ΠΈΡ‚Π΅ странныС IP-адрСса ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ устройства – ΠΏΠΎΡ€Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ! πŸ’‘ Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ автоматичСски ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Scheduled Task с этим скриптом ΠΈΠ»ΠΈ Π·Π°Π²ΡΠ·Π°Ρ‚ΡŒ Π½Π° SIEM. πŸ‘‰ @win_sysadmin

πŸ‘‹ ВсСм Π°Π΄ΠΌΠΈΠ½Π°ΠΌ Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ ΡƒΡ‚Ρ€Π°! БСгодня Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ (GPO) Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… Π±Π΅Π· нСобходимости ΠΆΠ΄Π°Ρ‚ΡŒ стандартного обновлСния (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π· Π² 90 ΠΌΠΈΠ½ΡƒΡ‚ + случайноС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π΄ΠΎ 30 ΠΌΠΈΠ½ΡƒΡ‚). πŸ”₯ Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ срочно ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

gpupdate /force
Но Ρ‡Ρ‚ΠΎ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ Π½Π° всСх ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π΄ΠΎΠΌΠ΅Π½Π° сразу? Π’ΡƒΡ‚ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ PowerShell:

Invoke-GPUpdate -Computer "Π˜ΠΌΡΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°" -RandomDelayInMinutes 0
А Ссли Π½ΡƒΠΆΠ½ΠΎ массово ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π½Π° всСх ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… Π² OU? Π’ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=domain,DC=local" | ForEach-Object {
    Invoke-GPUpdate -Computer $_.Name -RandomDelayInMinutes 0 -AsJob
}
πŸ”Ή gpupdate /force - Ρ…ΠΎΡ€ΠΎΡˆ для локального примСнСния. πŸ”Ή Invoke-GPUpdate - ΡƒΠ΄ΠΎΠ±Π΅Π½ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ обновлСния GPO. πŸ”Ή ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ с Get-ADComputer - идСальна для массового обновлСния Π² Π΄ΠΎΠΌΠ΅Π½Π΅. πŸ‘‰ @win_sysadmin

πŸ‘‹ ВсСм Π°Π΄ΠΌΠΈΠ½Π°ΠΌ Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Π΅Ρ‡Π΅Ρ€Π°! ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽ Ρ‚Π΅ΠΌΡƒ Ρ‚Π΅Π½Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π² Windows - Π½Π° этот Ρ€Π°Π· чисто PowerShell-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π’Π΅Π½Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ (VSS) Π½Π΅ Ρ€Π°Π· спасали мСня, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ быстро Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ восстановлСния ΠΈΠ· бэкапа. НиТС - ΠΌΠΎΠΉ минималистичный Β«Π½Π°Π±ΠΎΡ€ Π²Ρ‹ΠΆΠΈΠ²Π°Π»ΡŒΡ‰ΠΈΠΊΠ°Β»: ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ½Π°ΠΏΡˆΠΎΡ‚, ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ расписаниС. πŸš€ Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ VSS Ρ‡Π΅Ρ€Π΅Π· PowerShell Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π΅Π½Π΅Π²ΡƒΡŽ копию Ρ‚ΠΎΠΌΠ° C:

# PS 5.1/7+ (Ρ‡Π΅Ρ€Π΅Π· CIM)
Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create `
  -Arguments @{ Volume = 'C:\'; Context = 'ClientAccessible' } | Out-Null
Бписок доступных Ρ‚Π΅Π½Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ:

Get-CimInstance Win32_ShadowCopy |
  Sort-Object InstallDate -Descending |
  Format-Table ID, VolumeName, InstallDate, ClientAccessible, DeviceObject -Auto
Π‘ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ ΡΠ²Π΅ΠΆΡƒΡŽ копию Π² ΠΏΠ°ΠΏΠΊΡƒ (ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π»Π°Π·ΠΈΡ‚ΡŒ ΠΏΠΎ ΡΠ½Π°ΠΏΡˆΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠΌ):

$sh = Get-CimInstance Win32_ShadowCopy | Sort-Object InstallDate -Desc | Select-Object -First 1
$mount = 'C:\ShadowMounts\C_latest'
New-Item -ItemType Directory -Path $mount -Force | Out-Null
$dev = ($sh.DeviceObject.TrimEnd('\')) + '\'
cmd /c "mklink /d `"$mount`" `"$dev`""
# Π“ΠΎΡ‚ΠΎΠ²ΠΎ: ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ C:\ShadowMounts\C_latest
Π’Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ· послСднСй ΠΊΠΎΠΏΠΈΠΈ (Π±Π΅Π· монтирования):

$path = 'C:\Data\report.xlsx'       # Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ
$sh   = Get-CimInstance Win32_ShadowCopy | Sort-Object InstallDate -Desc | Select-Object -First 1
$rel  = $path -replace '^[A-Za-z]:\\',''  # ΡƒΠ±Ρ€Π°Ρ‚ΡŒ "C:\"
$src  = Join-Path ( ($sh.DeviceObject.TrimEnd('\')) + '\' ) $rel
Copy-Item $src $path -Force
Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ‚Π΅Π½Π΅Π²ΡƒΡŽ копию:

$sh | Remove-CimInstance
🧠 Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Ρ‚Π΅Π½Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€:

vssadmin list shadowstorage
vssadmin resize shadowstorage /For=C: /On=C: /MaxSize=20%
πŸ‘‰ Если мСста ΠΌΠ°Π»ΠΎ - VSS Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΡΠ½ΠΎΡΠΈΡ‚ΡŒ самыС старыС ΠΊΠΎΠΏΠΈΠΈ. ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Β«MaxSizeΒ». ⏰ ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π° (02:00)

$cmd = 'powershell.exe'
$arg = '-NoProfile -WindowStyle Hidden -Command "Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create -Arguments @{Volume=''C:\'';Context=''ClientAccessible''} | Out-Null"'
$action  = New-ScheduledTaskAction -Execute $cmd -Argument $arg
$trigger = New-ScheduledTaskTrigger -Daily -At 02:00
Register-ScheduledTask -TaskName 'Daily-VSS-C' -Action $action -Trigger $trigger -RunLevel Highest
На сСрвСрах с PowerShell 7 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ powershell.exe Π½Π° pwsh.exe.
πŸ”’ Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ - Π Π°Π½ΡΠΎΠΌΠ²Π°Ρ€ΡŒ Π»ΡŽΠ±ΠΈΡ‚ Π³Ρ€ΠΎΡ…Π°Ρ‚ΡŒ VSS: ΠΈΡ‰ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ vssadmin delete shadows /all /quiet, wmic shadowcopy delete, diskshadow.exe. Π›ΠΎΠ³ΠΈ: Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π°ΡƒΠ΄ΠΈΡ‚ создания процСссов (Sysmon Event ID 1) ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠ΄ эти ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. - ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹: Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станциях, Π³Π΄Π΅ VSS Π°Π΄ΠΌΠΈΠ½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ β€” AppLocker/WDAC для vssadmin.exe, wmic.exe, diskshadow.exe. - Π–ΡƒΡ€Π½Π°Π»Ρ‹ VSS: заглядывайтС Π² Application ΠΈ Microsoft-Windows-Volume Shadow Copy/Operational ΠΏΡ€ΠΈ сбоях ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°. 🧩 Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Ρ‚Ρ‹ΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ - Доступа Π½Π΅Ρ‚ ΠΊ путям ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π° β€” добавляйтС \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\ Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ антивируса Π½Π° врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. - НСдостаточно мСста β€” Ρ€Π°ΡΡˆΠΈΡ€ΡŒΡ‚Π΅ shadowstorage ΠΈΠ»ΠΈ помСняйтС диск-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅: /For=C: /On=D:. - НуТны Β«ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ вСрсии» для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ - ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Context='ClientAccessible' (ΠΈΠ»ΠΈ ClientAccessibleWriters для VSS-aware ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ). πŸ‘‰ @win_sysadmin

πŸš€ ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… IT ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² Max БистСмноС администрированиС, DevOps πŸ“Œ https://max.ru/i_odmin ВсС для систСмного администратора https://max.ru/bash_srv Bash Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ https://max.ru/sysadminof Книги для Π°Π΄ΠΌΠΈΠ½ΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ https://max.ru/i_odmin_book Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° БистСмного Администратора https://max.ru/i_devops DevOps: ПишСм ΠΎ Docker, Kubernetes ΠΈ Π΄Ρ€. https://max.ru/tipsysdmin Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Бисадмин 1C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/odin1c_rus CΡ‚Π°Ρ‚ΡŒΠΈ, курсы, совСты, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π° 1Π‘ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ C++πŸ“Œ https://max.ru/cpp_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C/C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ GoπŸ“Œ https://max.ru/golang_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go (Golang) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ReactπŸ“Œ https://max.ru/react_lib React ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Python πŸ“Œ https://max.ru/python_of Python акадСмия. https://max.ru/BookPython Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/bookjava Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° GitHub БообщСство πŸ“Œ https://max.ru/githublib Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠ΅ ΠΈΠ· GitHub Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Data Base) πŸ“Œ https://max.ru/database_info ВсС ΠΏΡ€ΠΎ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/frontend_1 ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ для frontend Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ πŸ“Œ https://max.ru/programmist_of Книги ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ https://max.ru/proglb Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста https://max.ru/bfbook Книги для программистов ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ πŸ“Œ https://max.ru/bookflow Π›Π΅ΠΊΡ†ΠΈΠΈ, Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΈ, Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ с IT ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ https://max.ru/itmozg ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, новости ΠΈΠ· ΠΌΠΈΡ€Π° IT https://max.ru/php_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PHP программиста πŸ‘¨πŸΌβ€πŸ’»πŸ‘©β€πŸ’» Π¨ΡƒΡ‚ΠΊΠΈ программистов πŸ“Œ https://max.ru/itumor Π¨ΡƒΡ‚ΠΊΠΈ программистов Π—Π°Ρ‰ΠΈΡ‚Π°, Π²Π·Π»ΠΎΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ πŸ“Œ https://max.ru/thehaking Канал ΠΎ кибСрбСзопасности https://max.ru/xakkep_1 Π₯Π°ΠΊΠ΅Ρ€ Free Книги, ΡΡ‚Π°Ρ‚ΡŒΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² πŸ“Œ https://max.ru/odesigners Π‘Ρ‚Π°Ρ‚ΡŒΠΈ, ΠΊΠ½ΠΈΠ³ΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° πŸ“Œ https://max.ru/Pomatematike Канал ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ https://max.ru/phismat_1 ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π€ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Вакансии πŸ“Œ https://max.ru/progjob Вакансии Π² IT ΠœΠΈΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ πŸ“Œ https://max.ru/mir_teh Канал для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Бонус πŸ“Œ https://max.ru/piterspb_78 Π‘Π²Π΅ΠΆΠΈΠ΅ новости Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π° https://max.ru/mockva_life Π‘Π²Π΅ΠΆΠΈΠ΅ новости ΠœΠΎΡΠΊΠ²Ρ‹

πŸ‘‹ Админы, всСм Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ понСдСльника! БСгодня напомню ΠΏΡ€ΠΎ Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½Ρ‘Π½Π½Ρ‹ΠΉ инструмСнт - PowerShell-диски (PSDrive). Π­Ρ‚ΠΎ логичСскиС β€œΠ΄ΠΈΡΠΊΠΈβ€ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌ: файловая систСма (C:), рССстр (HKCU:/HKLM:), сСртификаты (Cert:) ΠΈ Ρ‚.Π΄. Π‘ Π½ΠΈΠΌΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π½Π°Π²ΠΈΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚ΠΎΠ² Location. 🧭 Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

# ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС доступныС PSDrive
Get-PSDrive

# ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму
Get-PSDrive -PSProvider FileSystem

# Навигация ΠΏΠΎ рССстру ΠΊΠ°ΠΊ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
(И Π΄Π°, Get-PSDrive ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ Registry/Certificate/Environment - ΡƒΠ΄ΠΎΠ±Π½ΠΎ для ΠΎΠ±Π·ΠΎΡ€Π°). 🧩 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своих β€œΠ΄ΠΈΡΠΊΠΎΠ²β€:

# ΠœΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ярлык Π½Π° ΠΏΠ°ΠΏΠΊΡƒ
New-PSDrive -Name Tools -PSProvider FileSystem -Root "C:\Admin\Tools"

# ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΠΆΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ рССстра
New-PSDrive -Name CV -PSProvider Registry -Root HKLM:\Software\Microsoft\Windows\CurrentVersion
⚠️ Π’Π°ΠΊΠΈΠ΅ диски ΠΆΠΈΠ²ΡƒΡ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии. Π₯ΠΎΡ‚ΠΈΡ‚Π΅ постоянно - Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ New-PSDrive Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ($PROFILE). 🧹 Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅:

Remove-PSDrive -Name Tools
НСльзя ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ диск, Ссли Π²Ρ‹ β€œΠ½Π° нём” (сначала Set-Location Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто). πŸ’‘ Π›Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ ΠΈΠ· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: - Π”Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ алиасы Π½Π° Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ рССстра для быстрых ΠΏΡ€Π°Π²ΠΎΠΊ. - Для огляда систСмы Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Get-PSDrive | Format-Table Name,Provider,Root -Auto. - Π’ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ свои стандартныС монтирования для админских Π·Π°Π΄Π°Ρ‡. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! БСгодня расскаТу ΠΎ нСбольшом, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΌ Ρ‚Ρ€ΡŽΠΊΠ΅ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° дисков Π² Windows Ρ‡Π΅Ρ€Π΅Π· PowerShell. Иногда мСста Π½Π° сСрвСрС Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ становится критичСски ΠΌΠ°Π»ΠΎ, ΠΈ Ссли Π½Π΅ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ воврСмя - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ сСрвисов ΠΈΠ»ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ.

Get-PSDrive -PSProvider FileSystem | Select-Object Name,@{n="FreeGB";e={[math]::Round($_.Free/1GB,2)}},@{n="Used%";e={[math]::Round(100-($_.Free/$_.Used+ $_.Free)*100,2)}}
Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚: - Имя диска - Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ мСсто (Π“Π‘) - ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ занятости МоТно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΠΎΠ³. А Ссли ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ это ΠΊ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· Zabbix/PRTG), Ρ‚ΠΎ сСрвСр сам ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ ΠΎ критичСском Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. πŸ‘‰ @win_sysadmin

πŸš€ ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… IT ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² Max БистСмноС администрированиС, DevOps πŸ“Œ https://max.ru/i_odmin ВсС для систСмного администратора https://max.ru/bash_srv Bash Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ https://max.ru/sysadminof Книги для Π°Π΄ΠΌΠΈΠ½ΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ https://max.ru/i_odmin_book Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° БистСмного Администратора https://max.ru/i_devops DevOps: ПишСм ΠΎ Docker, Kubernetes ΠΈ Π΄Ρ€. https://max.ru/tipsysdmin Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Бисадмин 1C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/odin1c_rus CΡ‚Π°Ρ‚ΡŒΠΈ, курсы, совСты, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π° 1Π‘ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ C++πŸ“Œ https://max.ru/cpp_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C/C++ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ GoπŸ“Œ https://max.ru/golang_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Go (Golang) Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ReactπŸ“Œ https://max.ru/react_lib React ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Python πŸ“Œ https://max.ru/python_of Python акадСмия. https://max.ru/BookPython Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/bookjava Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° GitHub БообщСство πŸ“Œ https://max.ru/githublib Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎΠ΅ ΠΈΠ· GitHub Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Data Base) πŸ“Œ https://max.ru/database_info ВсС ΠΏΡ€ΠΎ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° πŸ“Œ https://max.ru/frontend_1 ΠŸΠΎΠ΄Π±ΠΎΡ€ΠΊΠΈ для frontend Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ πŸ“Œ https://max.ru/programmist_of Книги ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ https://max.ru/proglb Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста https://max.ru/bfbook Книги для программистов ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ πŸ“Œ https://max.ru/bookflow Π›Π΅ΠΊΡ†ΠΈΠΈ, Π²ΠΈΠ΄Π΅ΠΎΡƒΡ€ΠΎΠΊΠΈ, Π΄ΠΎΠΊΠ»Π°Π΄Ρ‹ с IT ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ https://max.ru/itmozg ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹, новости ΠΈΠ· ΠΌΠΈΡ€Π° IT https://max.ru/php_lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PHP программиста πŸ‘¨πŸΌβ€πŸ’»πŸ‘©β€πŸ’» Π¨ΡƒΡ‚ΠΊΠΈ программистов πŸ“Œ https://max.ru/itumor Π¨ΡƒΡ‚ΠΊΠΈ программистов Π—Π°Ρ‰ΠΈΡ‚Π°, Π²Π·Π»ΠΎΠΌ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ πŸ“Œ https://max.ru/thehaking Канал ΠΎ кибСрбСзопасности https://max.ru/xakkep_1 Π₯Π°ΠΊΠ΅Ρ€ Free Книги, ΡΡ‚Π°Ρ‚ΡŒΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² πŸ“Œ https://max.ru/odesigners Π‘Ρ‚Π°Ρ‚ΡŒΠΈ, ΠΊΠ½ΠΈΠ³ΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° πŸ“Œ https://max.ru/Pomatematike Канал ΠΏΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ https://max.ru/phismat_1 ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Π€ΠΈΠ·ΠΈΠΊΠ΅ ΠΈ ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Вакансии πŸ“Œ https://max.ru/progjob Вакансии Π² IT ΠœΠΈΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ πŸ“Œ https://max.ru/mir_teh Канал для Π»ΡŽΠ±ΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Бонус πŸ“Œ https://max.ru/piterspb_78 Π‘Π²Π΅ΠΆΠΈΠ΅ новости Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³Π° https://max.ru/mockva_life Π‘Π²Π΅ΠΆΠΈΠ΅ новости ΠœΠΎΡΠΊΠ²Ρ‹

πŸ‘‹ ВсСм Π°Π΄ΠΌΠΈΠ½Π°ΠΌ Π΄ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Π΅Ρ‡Π΅Ρ€Π°! БСгодня подСлюсь ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ спасаСт, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ Π½Π° Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Β» ΠΈΠ»ΠΈ «сСтСвыС Π»Π°Π³ΠΈΒ». Π§Π°Ρ‰Π΅ всСго Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ вовсС Π½Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€, Π° ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ сСтСвыС интСрфСйсы Π½Π° самом сСрвСрС. πŸ”₯ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статистику Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

Get-NetAdapterStatistics | Select-Object Name, ReceivedBytes, SentBytes, ReceivedErrors, OutboundErrors
Команда ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство принятых/ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π±Π°ΠΉΡ‚ ΠΈ ошибки Π½Π° интСрфСйсС. Если Π²ΠΈΠ΄ΠΈΡ‚Π΅ рост ReceivedErrors ΠΈΠ»ΠΈ OutboundErrors - Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΆΠ΅Π»Π΅Π·Π΅, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ ΠΈΠ»ΠΈ ΠΊΠ°Π±Π΅Π»Π΅. А Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»:

while ($true) {
    Get-NetAdapterStatistics -Name "Ethernet0" | 
    Select-Object Name, ReceivedErrors, OutboundErrors
    Start-Sleep -Seconds 5
}
Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Β«ΠΏΠΎΠ΄ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΒ» Π·Π° интСрфСйсом Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! БСгодня Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ² ΠΈΠ· PowerShell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Π² сСти. Часто это Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π°ΡƒΠ΄ΠΈΡ‚Π°Ρ… ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° приходится быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ состояниС сразу Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… машин. πŸ”₯ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ скрипта для сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:

$computers = "PC1","PC2","PC3"

foreach ($c in $computers) {
    Write-Host "Π‘ΠΎΠ±ΠΈΡ€Π°ΡŽ Π΄Π°Π½Π½Ρ‹Π΅ с $c..."
    Get-WmiObject -Class Win32_ComputerSystem -ComputerName $c |
        Select-Object Name, Manufacturer, Model, TotalPhysicalMemory

    Get-WmiObject -Class Win32_OperatingSystem -ComputerName $c |
        Select-Object Caption, Version, OSArchitecture, LastBootUpTime
}
πŸ‘‰ Π’Π°ΠΊΠΎΠΉ скрипт выдаст: - имя ΠΈ модСль ПК, - производитСля, - ΠΎΠ±ΡŠΡ‘ΠΌ RAM, - Π²Π΅Ρ€ΡΠΈΡŽ ОБ, Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ, - врСмя послСднСй Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. πŸ’‘ Если Π½ΡƒΠΆΠ½ΠΎ массово ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π² CSV:

$results = foreach ($c in $computers) {
    Get-WmiObject -Class Win32_OperatingSystem -ComputerName $c |
        Select-Object PSComputerName, Caption, Version, LastBootUpTime
}

$results | Export-Csv "C:\Temp\computers.csv" -NoTypeInformation -Encoding UTF8
Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎ всСм машинам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Excel ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ. πŸ’¬ А ΠΊΠ°ΠΊ Π²Ρ‹ Π²Π΅Π΄Ρ‘Ρ‚Π΅ ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠ°Ρ€ΠΊΠ° машин? Excel, CMDB, Intune, SCCM ΠΈΠ»ΠΈ свои самописныС скрипты? πŸ‘‰ @win_sysadmin

πŸ‘‹ ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π°Π΄ΠΌΠΈΠ½Ρ‹! Накидал быстрый Ρ‡Π΅ΠΊ-скриптl, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ хосты/ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° сСртификат сгорит. Быстрый Ρ‡Π΅ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ хоста

$HostName = 'site.contoso.com'
$Port     = 443

$tcp = [Net.Sockets.TcpClient]::new($HostName, $Port)
$ssl = [Net.Security.SslStream]::new($tcp.GetStream(), $false, { $true })
$ssl.AuthenticateAsClient($HostName)

$cert = [Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate)
[pscustomobject]@{
  Host     = $HostName
  Port     = $Port
  Subject  = $cert.Subject
  NotAfter = $cert.NotAfter
  DaysLeft = [math]::Floor(($cert.NotAfter - (Get-Date)).TotalDays)
}

$ssl.Dispose(); $tcp.Close()
Π‘ΠΊΠ°Π½ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ + статус

$targets = @(
  'site1.contoso.com:443',
  'mail.contoso.com:993',
  'rdgw.contoso.com:443'
)

$result = foreach ($t in $targets) {
  $host,$port = $t.Split(':',2)
  try {
    $tcp = [Net.Sockets.TcpClient]::new($host,[int]$port)
    $ssl = [Net.Security.SslStream]::new($tcp.GetStream(), $false, { $true })
    $ssl.AuthenticateAsClient($host)

    $cert = [Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate)
    $days = [math]::Floor(($cert.NotAfter - (Get-Date)).TotalDays)

    [pscustomobject]@{
      Host     = $host
      Port     = [int]$port
      CN       = $cert.GetNameInfo('SimpleName',$false)
      NotAfter = $cert.NotAfter
      DaysLeft = $days
      Status   = if ($days -le 14) { 'πŸ”₯ expiring ≀14d' }
                 elseif ($days -le 30) { '⚠️ <30d' }
                 else { 'βœ… ok' }
    }
  }
  catch {
    [pscustomobject]@{
      Host=$host; Port=[int]$port; CN=$null; NotAfter=$null; DaysLeft=$null
      Status="❌ error: $($_.Exception.Message)"
    }
  }
  finally {
    if ($ssl) { $ssl.Dispose() }
    if ($tcp) { $tcp.Close() }
  }
}

$result | Sort-Object DaysLeft | Format-Table -AutoSize
# Для ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π°:
# $result | Export-Csv .\tls_report.csv -NoTypeInformation -Encoding UTF8
Плюс: ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ Π² Task Scheduler ΠΈ ΡΠ»Π°Ρ‚ΡŒ увСдомлСния, Ссли DaysLeft ≀ 30. БпасаСт ΠΎΡ‚ Β«Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ…Β» ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π°. πŸ‘‰ @win_sysadmin

БистСмный Администратор Windows - Telegram kanali @win_sysadmin statistikasi va tahlili