вторник, 8 сентября 2020 г.

Настройка доступа к Exchange Online




Install-Module -Name PackageManagement -Repository PSGallery -Force

Install-Module -Name PowerShellGet -Repository PSGallery -Force

Install-Module PowerShellGet -AllowPrerelease -Force -Repository PSGallery -SkipPublisherCheck

exit #restart powershell

Install-Module -Name ExchangeOnlineManagement -AllowPrerelease

Import-Module ExchangeOnlineManagement

Connect-ExchangeOnline -UserPrincipalName navin@contoso.com -ShowProgress $true

https://docs.microsoft.com/en-us/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps


воскресенье, 19 января 2020 г.

Скрипт на создание локальных пользователей

$csv_path='C:\Users\Administrator\Desktop\users.csv'
$csv=Import-Csv -Path $csv_path -Encoding UTF8 -Delimiter ';'
$local_group_name="Remote Desktop Users"
foreach ($c in $csv) {
    $password=ConvertTo-SecureString -String $c.Password -AsPlainText -Force
    New-LocalUser -FullName $c.Name -Name $c.Login -Password $password
    Add-LocalGroupMember -Group $local_group_name -Member $c.Login
}

среда, 4 декабря 2019 г.

вторник, 3 декабря 2019 г.

Как выкинуть всех пользователей с терминала

Для cmd:
for /f "tokens=2 skip=2" %i in ('quser ^| find ^/v ^/i ^"^>^%username^%^"') do logoff %i

Для powershell:

Изменения размера swap (файла подкачки)

Для Windows:
меняем значение в реестре
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "c:\pagefile.sys 4096 4096" /f

После изменений нужно перезагрузиться

Для Linux:
sudo swapoff -a
sudo rm -f /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
sudo chown root:root /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Если используется swap раздел, то через fdisk сделать переразметку

воскресенье, 24 ноября 2019 г.

Скрипт для блокировки перебора паролей RDP | RDP bruteforce block script

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

Ниже переделанный скрипт для блокировки всех протоколов для указанного адреса (используется порт равный 0), если по случился перебор паролей с этого ip.
В скрипте используется несколько раз (Get-NetFirewallRule | ? DisplayName -eq $firewall_rule_name) для того, чтобы избежать конфликтной ситуации, если вдруг запустится копия скрипта или пока выполняется скрипт, руками кто-то создаст данное правило.

воскресенье, 10 ноября 2019 г.

Скрипт для вычисления размера профилей локальных пользователей Windows | How to calculate Windows local user profile's size

#Requires -Version 5
if ($PSVersionTable.PSVersion.Major -ge 6) {Import-Module Microsoft.Powershell.LocalAccounts -SkipEditionCheck}
$OutTable=@()
get-localuser | sort LastLogon,Name | select Name,Enabled,LastLogon,PasswordLastSet,SID | % {
    $RegPath='"'+'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\'+$_.SID+'"'
    $ProfilePath='C:\Users\'+$_.Name
    if (Test-Path $RegPath) {$ProfileImagePath=(Get-ItemProperty -Path $RegPath).ProfileImagePath
    } elseif (Test-Path ($ProfilePath)) {$ProfileImagePath=$ProfilePath
    } else {$ProfileImagePath=$null}
    $Size='0 GB'
    if (!($ProfileImagePath -eq $null)) {
         $Size='{0:N2} GB' -f ((ls $ProfileImagePath -Recurse -force -ErrorAction SilentlyContinue | `
          Measure-Object -Property Length -Sum -ErrorAction SilentlyContinue).Sum/1gb)    
    }
    $TableRow=New-Object psobject -Property @{
        "Login"=$_.Name
        "Enabled"=$_.Enabled
        "LastLogon"=$_.LastLogon
        "PasswordLastSet"=$_.PasswordLastSet
        "SID"=$_.SID
        "Size"=$Size
    }
    $OutTable+=$TableRow
}
$OutTable | Sort Login | ft Login,Size,Enabled,LastLogon,SID,PasswordLastSet