Windows
  • WINDOWS SERVERS
  •   Windows server 2016
  •     Инсталиране
  •     Настройка
  •     DHCP
  •     DNS
  •     Активна директория (AD)
  •     DNS и AD заедно
  •     Сайтове и репликации в AD
  •     Доверие и групова безопасност в AD
  •     Групови политики в AD
  •     RRAS сървър
  • WINDOWS WORKSTATIONS
  •   Windows 10
  •     Команди в Command Prompt
  •     Команди в Powershell
  •     DiskPart
  •   Windows приложения
  •     Виртуални хостове в XAMPP
  • ОПТИМИЗАЦИЯ
  •     Оптимизация на Windows 10
  •     Оптимизация на Windows 10 LTSB
  •     Windows 10 1607 > Windows 10 LTSB
  •   Оптимизация Win 22H2
  •     Изтриване на приложения
  •   Win_10 към Win_11 от ISO файл
  • PROGRAMS FOR WINDOWS
  •   Мрежови програми
  •     Apache и PHP
  •     Nninx PHPMyAdmin MySQL
  •     OpenSSH Server
  •     FileZilla
  •     AIO Boot
  •   Резервно копиране и MultiBOOT
  •     Cobian Reflector
  •     FreeFileSync
  •     VENTOY UEFI/Legacy
  •   От всичко по малко
  •     Notepad++
  • KРАКВАНЕ - ХАКВАНЕ
  •   Sublime Text
  •   Ремонт на USB флашка
  • BGPOST
  •   Ограничени потребители
  •     Администраторски права
  •     Контролен панел
  •   Специфични инсталации
  •     .NET 3.5
  •     Xerox B305
  •   3G/4G/5G връзки
  •     Нестабилен RDP при 3G/4G
  • Команди в Powershell

    Ще се постарая да покажа най-честите команди в конзолата Powershell.

    Управление на услуги (Services)

    Показване на услуги

    Get-Service | Select-Object Name,Status,StartType | more

    Тази конада ще подреди единa под другa всички налични услуги. Ако искаме примерно да проверим услугата "Remote Desktop Services" (TermService), то комндата ще е:

    Get-Service TermService | Select-Object Name,Status,StartType Name Status StartType ---- ------ --------- TermService Stopped Manual

    Управление на услуги

    В управление се има в предвид, как да се стартира услугата (Автоматично/Ръчно) и стартиране на услугата в текуща сесия. Ще продължим с горния пример за TermService. Първо ще накараме услугата автоматично да се стартира след рестарт на машината, а след това ще я стартираме в текущата сесия.

    Set-Service TermService -StartupType Automatic Start-Service TermService

    И да проверим какво създадохме:

    Get-Service TermService | Select-Object Name,Status,StartType Name Status StartType ---- ------ --------- TermService Running Automatic

    Всичко е както искахме.

    Управление на защитната стена (Windows Defender Firewall)

    Първата задача е да проверим какви правила има в защитната стена.

    Get-NetFirewallRule | select DisplayGroup | more

    Достатъчно голям брой правила. Примерно ни вълнува правилата за споделяне на папки.

    Get-NetFirewallRule | select DisplayGroup | Select-String 'Sharing' @{DisplayGroup=File and Printer Sharing} @{DisplayGroup=File and Printer Sharing} @{DisplayGroup=File and Printer Sharing (Restrictive)} @{DisplayGroup=File and Printer Sharing} @{DisplayGroup=File and Printer Sharing} ### Надолу има още доста правила, няма да ги показвам всичките ... @{DisplayGroup=Windows Media Player Network Sharing Service} @{DisplayGroup=Windows Media Player Network Sharing Service} @{DisplayGroup=Windows Media Player Network Sharing Service} @{DisplayGroup=Windows Media Player Network Sharing Service}

    Нас ни вълнува примерно DisplayGroup=File and Printer Sharing. Да проверим самото правило за тази група.

    Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing'

    Отново доста правила даде системата като отговор. Значи ще потърсим не по DisplayGroup, а по конкретно име DisplayName

    Get-NetFirewallRule -DisplayName 'File and Printer Sharing (SMB-In)'

    В случая имаме отговор за 3 правила. Отново дълъг отговор. Нужен ни прост и прегледен екран.

    Get-NetFirewallRule -DisplayGroup 'File and Printer Sharing' -Direction Inbound | Select-Object -Property DisplayName,Profiles,Enabled,Action DisplayName Profiles Enabled Action ----------- -------- ------- ------ File and Printer Sharing (Spooler Service - RPC-EPMAP) 1 False Allow File and Printer Sharing (Spooler Service - RPC) 1 False Allow File and Printer Sharing (NB-Session-In) 1 False Allow File and Printer Sharing (Spooler Service - RPC) 4 True Allow File and Printer Sharing (NB-Datagram-In) 1 False Allow File and Printer Sharing (NB-Name-In) 4 True Allow File and Printer Sharing (Spooler Service - RPC-EPMAP) 4 True Allow File and Printer Sharing (NB-Name-In) 1 False Allow File and Printer Sharing (NB-Session-In) 4 True Allow File and Printer Sharing (Echo Request - ICMPv4-In) 4 True Allow File and Printer Sharing (SMB-In) 4 True Allow File and Printer Sharing (SMB-In) 1 False Allow File and Printer Sharing (Echo Request - ICMPv6-In) 4 True Allow File and Printer Sharing (Echo Request - ICMPv6-In) 1 False Allow File and Printer Sharing (NB-Datagram-In) 4 True Allow File and Printer Sharing (Echo Request - ICMPv4-In) 1 False Allow File and Printer Sharing (LLMNR-UDP-In) 4 True Allow File and Printer Sharing (LLMNR-UDP-In) 3 False Allow File and Printer Sharing (NB-Datagram-In) 2 False Allow File and Printer Sharing (Echo Request - ICMPv6-In) 2 False Allow File and Printer Sharing (SMB-In) 2 False Allow File and Printer Sharing (Echo Request - ICMPv4-In) 2 False Allow File and Printer Sharing (NB-Session-In) 2 False Allow File and Printer Sharing (Spooler Service - RPC-EPMAP) 2 False Allow File and Printer Sharing (NB-Name-In) 2 False Allow File and Printer Sharing (Spooler Service - RPC) 2 False Allow

    Прегледно и ясно. Супер! Сега да променим някое от горните правила, примерно "File and Printer Sharing (Echo Request - ICMPv4-In) 2 False Allow". Няма да го правим с една команда да е активно и да се отнася за всички профили, а поотделно. Накрая ще покажа как може да се направи с една команда. За начало нека правилото се отнася за всички профили.

    Set-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' -Profile Public,Domain,Private

    Да проверим:

    Get-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' -Direction Inbound | Select-Object -Property DisplayName,Profiles,Enabled,Action DisplayName Profiles Enabled Action ----------- -------- ------- ------ File and Printer Sharing (Echo Request - ICMPv4-In) 7 True Allow File and Printer Sharing (Echo Request - ICMPv4-In) 7 False Allow File and Printer Sharing (Echo Request - ICMPv4-In) 7 False Allow

    Прекрасно, правилото се отнася за всички профили. Сега да го направим активно (Имаме две прафила със статус False).

    Set-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' -Enabled True

    Да проверим:

    Get-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' | Select-Object -Property DisplayName,Profiles,Enabled,Action DisplayName Profiles Enabled Action ----------- -------- ------- ------ File and Printer Sharing (Echo Request - ICMPv4-In) 7 True Allow File and Printer Sharing (Echo Request - ICMPv4-In) 7 True Allow File and Printer Sharing (Echo Request - ICMPv4-In) 7 True Allow

    И сега обещаната команда която ще направи горните две стъпки на един път.

    Set-NetFirewallRule -DisplayName 'File and Printer Sharing (Echo Request - ICMPv4-In)' -Enabled True -Profile Public,Domain,Private

    Ако пък искате правилото да се прилага не само за точно определено условие, то използвайте група. За пример:

    Set-NetFirewallRule -DisplayGroup 'File and Printer Sharing' -Enabled True -Profile Public,Domain,Private

    Като цяло Powershell е много мощен инструмент. Просто е доста мъчен за анализ.

    Управление на приложения (Аpplications)

    Показване на приложения

    За начало да проверим какви приложения от магазина на Microsoft са инсталирани .

    Get-AppxPackage | select name, packagefullname

    За да изтриете определено приложение:

    Get-AppxPackage *windowsmaps*| Remove-AppxPackage

    Приложението беше изтрито за текущия потребител. Ако пък е за всички потребители:

    Get-AppxPackage -allusers *windowsalarms*| Remove-AppxPackage

    Ако пък искате да изтриете всички приложения за всички потребители то ползвайте следната команда:

    Get-AppxPackage -allusers | Remove-AppxPackage

    Сега ще покажа няколко приложения които стандартно не могат да се изтрият. Може само през PowerShell като Administrator.

    Get-AppxPackage -allusers *Microsoft.Xbox* | Remove-AppxPackage Get-AppxPackage -allusers Microsoft.549981C3F5F10 | Remove-AppxPackage Get-AppxPackage *Microsoft.YourPhone* -AllUsers | Remove-AppxPackage Get-AppxPackage -allusers *People* | Remove-AppxPackage Get-AppxPackage -allusers Microsoft.WindowsMaps | Remove-AppxPackage

    Приложенията са: - Xbox - Кортана - Вашия телефон - Хора - Карти Примерно още могат да се изтрият, Време, Офис, OneNote, OneDrive.