Изображение


Содержание

1. Введение: Командная строка Windows
2. Базовые команды CMD
3. Файловая система CMD
4. Работа с процессами CMD
5. Сетевое администрирование CMD
6. Системная информация CMD
7. Управление дисками CMD
8. PowerShell основы
9. PowerShell файловая система
10. PowerShell процессы и службы
11. PowerShell сеть
12. PowerShell Active Directory
13. PowerShell автоматизация
14. Комбинации CMD + PowerShell
15. Часто задаваемые вопросы
16. Заключение



Введение: Командная строка Windows


Почему важны командные строки


Командная строка Windows (CMD) и PowerShell - это мощные инструменты для автоматизации задач, системного администрирования и решения проблем. Они позволяют выполнять операции быстрее и эффективнее, чем через графический интерфейс.

CMD vs PowerShell


CMD (Command Prompt):
- Классическая командная оболочка Windows
- Простой синтаксис, знакомый пользователям DOS
- Ограниченные возможности скриптинга
- Лучше для простых задач

PowerShell:
- Современная объектно-ориентированная оболочка
- Богатый язык скриптинга
- Работа с .NET Framework
- Интеграция с Windows Management Instrumentation (WMI)
- Лучше для сложных автоматизаций

Статистика использования 2026


- 78% IT-специалистов используют командную строку ежедневно
- 65% системных администраторов предпочитают PowerShell
- 45% пользователей Windows никогда не использовали командную строку
- 92% Windows серверов управляются через командную строку
- PowerShell входит в топ-5 навыков Windows администрирования

Когда использовать CMD, когда PowerShell


CMD лучше для:
- Простых команд (dir, cd, copy)
- Совместимости со старыми скриптами
- Быстрых одноразовых операций
- Ограниченных системах (Windows PE)

PowerShell лучше для:
- Сложных скриптов и автоматизации
- Работа с объектами и свойствами
- Удаленное управление
- Интеграция с современными технологиями (Azure, AWS)

Безопасность и права


- Многие команды требуют прав администратора
- Используйте `Run as administrator` для CMD
- PowerShell: `Start-Process powershell -Verb RunAs`
- Будьте осторожны с командами, изменяющими систему



Базовые команды CMD



1. help - показать список команд
cmd
help


2. help command - помощь по конкретной команде
cmd
help dir


3. cd - изменить директорию
cmd
cd C:\Users
cd .. # на уровень выше
cd \ # в корень диска


4. dir - показать содержимое директории
cmd
dir          # базовый вид
dir /w # широкая таблица
dir /p # постранично
dir /o:n # сортировка по имени


5. cls - очистить экран
cmd
cls


6. exit - выйти из командной строки
cmd
exit


Работа с переменными


7. set - показать/установить переменные
cmd
set              # показать все переменные
set PATH # показать переменную PATH
set MYVAR=value # установить переменную


8. echo - вывести текст или переменную
cmd
echo Hello World
echo %PATH%
echo %DATE% %TIME%


9. title - установить заголовок окна
cmd
title "Мое окно команд"


10. color - изменить цвета текста и фона
cmd
color 0A  # черный фон, зеленый текст
color 1F # синий фон, белый текст


Запуск программ


11. start - запустить программу или файл
cmd
start notepad.exe
start "" "C:\Program Files\app.exe"
start https://example.com


12. call - вызвать другой батник
cmd
call myscript.bat


13. cmd - запустить новый экземпляр CMD
cmd
cmd
cmd /c "echo Hello" # выполнить и закрыть
cmd /k "echo Hello" # выполнить и оставить открытым


14. runas - запустить от имени другого пользователя
cmd
runas /user:Administrator cmd
runas /user:domain\user "notepad.exe"


15. schtasks - управление планировщиком задач
cmd
schtasks /create /tn "MyTask" /tr "notepad.exe" /sc daily
schtasks /run /tn "MyTask"
schtasks /delete /tn "MyTask"




Файловая система CMD


Просмотр и навигация


16. tree - показать дерево директорий
cmd
tree              # полное дерево
tree /f # с файлами
tree /a # ASCII символы


17. vol - информация о диске
cmd
vol C:


18. chdir - показать текущую директорию (аналог pwd)
cmd
chdir


Работа с файлами


19. copy - копировать файлы
cmd
copy file1.txt file2.txt
copy *.txt D:\backup\
copy file.txt + file2.txt combined.txt


20. xcopy - расширенное копирование
cmd
xcopy C:\source D:\dest /s /e  # рекурсивно с пустыми папками
xcopy C:\source D:\dest /d # только новые файлы


21. move - переместить файлы
cmd
move file.txt D:\folder\
move *.log D:\logs\


22. rename - переименовать файл
cmd
rename oldname.txt newname.txt
ren *.txt *.bak # массовое переименование


23. del - удалить файлы
cmd
del file.txt
del *.tmp /q # тихое удаление
del /s *.log # рекурсивное удаление


24. erase - синоним del
cmd
erase file.txt


25. type - показать содержимое файла
cmd
type file.txt
type file.txt | more # постранично


Работа с директориями


26. md - создать директорию
cmd
md newfolder
md "C:\My Folder"
mkdir nested\folder # создать вложенные


27. rd - удалить директорию
cmd
rd emptyfolder
rd /s /q folder # удалить с содержимым


28. rmdir - синоним rd
cmd
rmdir folder


Поиск файлов


29. find - найти текст в файлах
cmd
find "text" file.txt
find /i "Text" file.txt # игнорировать регистр


30. findstr - расширенный поиск в файлах
cmd
findstr "error" *.log
findstr /i /n "password" *.txt # с номерами строк
findstr /r "^[0-9]" file.txt # регулярные выражения


31. where - найти файл в PATH
cmd
where notepad.exe
where python


Атрибуты файлов


32. attrib - управлять атрибутами файлов
cmd
attrib +h file.txt     # скрытый
attrib -r file.txt # убрать только чтение
attrib +s +h system.dat # системный и скрытый
attrib *.* /s # рекурсивно


Сравнение файлов


33. fc - сравнить файлы
cmd
fc file1.txt file2.txt
fc /b file1.bin file2.bin # бинарное сравнение


34. comp - сравнить файлы (альтернатива)
cmd
comp file1.txt file2.txt


Архивация


35. makecab - создать CAB архив
cmd
makecab file.txt archive.cab


36. expand - распаковать CAB
cmd
expand archive.cab C:\temp\




Работа с процессами CMD


Просмотр процессов


37. tasklist - список процессов
cmd
tasklist
tasklist /fi "imagename eq notepad.exe" # фильтр
tasklist /svc # с службами


38. qprocess - быстрый просмотр процессов
cmd
qprocess


Управление процессами


39. taskkill - завершить процесс
cmd
taskkill /pid 1234
taskkill /im notepad.exe
taskkill /f /t /pid 1234 # принудительно с дочерними


40. tskill - завершить процесс по ID (устаревшее)
cmd
tskill 1234


Запуск процессов


41. start - запустить в фоне
cmd
start /b ping google.com
start /min notepad.exe
start /max calc.exe


Производительность


42. timeout - пауза
cmd
timeout /t 10
timeout /t 5 /nobreak


43. pause - пауза с сообщением
cmd
pause


44. choice - выбор пользователя
cmd
choice /c yn /m "Continue? (Y/N)"


Переменные и математика


45. set /a - арифметические операции
cmd
set /a result=5+3
set /a result="5*3"


46. for - цикл
cmd
for %%i in (1,2,3) do echo %%i
for /l %%i in (1,1,10) do echo %%i


47. if - условный оператор
cmd
if exist file.txt echo "File exists"
if "%var%"=="value" echo "Equal"


48. goto - переход
cmd
:label
echo This is a label
goto label




Сетевое администрирование CMD


Диагностика сети


49. ping - проверить доступность
cmd
ping google.com
ping -t google.com # непрерывно
ping -n 4 google.com # 4 пакета
ping -l 1000 google.com # размер пакета


50. tracert - трассировка маршрута
cmd
tracert google.com
tracert -d google.com # без разрешения имен


51. pathping - трассировка с статистикой
cmd
pathping google.com


52. ipconfig - информация о сети
cmd
ipconfig              # базовая
ipconfig /all # подробная
ipconfig /release # освободить IP
ipconfig /renew # обновить IP


Работа с DNS


53. nslookup - DNS запросы
cmd
nslookup google.com
nslookup -type=mx gmail.com
nslookup -type=txt google.com


54. host - альтернатива nslookup (если установлена)
cmd
host google.com


Управление сетью


55. netsh - настройка сети
cmd
netsh interface show interface
netsh wlan show networks
netsh advfirewall show currentprofile


56. route - таблица маршрутизации
cmd
route print
route add 192.168.1.0 mask 255.255.255.0 192.168.0.1
route delete 192.168.1.0


57. arp - таблица ARP
cmd
arp -a
arp -d 192.168.1.1
arp -s 192.168.1.1 00-11-22-33-44-55


Сетевые инструменты


58. telnet - подключение к портам
cmd
telnet google.com 80


59. ftp - FTP клиент
cmd
ftp ftp.example.com


60. tftp - TFTP клиент
cmd
tftp -i 192.168.1.1 put file.txt


61. netstat - сетевые соединения
cmd
netstat
netstat -a # все соединения
netstat -n # числовой формат
netstat -o # с PID процессами


Управление общими ресурсами


62. net share - сетевые диски
cmd
net share              # показать
net share myshare=C:\ # создать
net share myshare /delete # удалить


63. net use - подключить сетевой диск
cmd
net use Z: \\server\share
net use Z: /delete




Системная информация CMD


Информация о системе


64. systeminfo - подробная информация о системе
cmd
systeminfo
systeminfo | find "OS"


65. ver - версия Windows
cmd
ver


66. hostname - имя компьютера
cmd
hostname


67. whoami - текущий пользователь
cmd
whoami
whoami /user
whoami /groups


Управление пользователями


68. net user - управление пользователями
cmd
net user              # список пользователей
net user username # информация о пользователе
net user username * # изменить пароль


69. net localgroup - локальные группы
cmd
net localgroup administrators
net localgroup "Пользователи удаленного рабочего стола"


Службы


70. net start - запущенные службы
cmd
net start


71. net stop - остановить службу
cmd
net stop "Windows Update"


72. sc - управление службами
cmd
sc query                # список служб
sc start servicename # запустить
sc stop servicename # остановить
sc config servicename start=auto # автозапуск


Устройства


73. driverquery - драйверы устройств
cmd
driverquery
driverquery /v # подробная информация


74. devcon - управление устройствами (если установлено)
cmd
devcon listclass display


Журналы событий


75. wevtutil - работа с журналами
cmd
wevtutil el              # список журналов
wevtutil qe System /c:10 /rd:true # последние 10 событий


76. eventvwr - открыть просмотр событий
cmd
eventvwr


Резервное копирование


77. wbadmin - резервное копирование
cmd
wbadmin get status
wbadmin start backup -backupTarget:D: -include:C:


78. robocopy - синхронизация файлов
cmd
robocopy C:\source D:\dest /mir
robocopy C:\source D:\dest /e /z /r:3 /w:5




Управление дисками CMD


Информация о дисках


79. wmic logicaldisk - информация о логических дисках
cmd
wmic logicaldisk get name,size,freespace


80. fsutil - утилита файловой системы
cmd
fsutil file createNew test.txt 1000  # создать файл
fsutil fsinfo drives # список дисков
fsutil fsinfo driveType C: # тип диска


81. diskpart - управление дисками
cmd
diskpart
list disk
select disk 0
list partition


Форматирование


82. format - форматирование диска
cmd
format D: /fs:ntfs /q /v:"MyDisk"


83. chkdsk - проверка диска
cmd
chkdsk C:
chkdsk C: /f /r # исправить ошибки


84. defrag - дефрагментация
cmd
defrag C: /a     # анализ
defrag C: /v # подробный вывод


Восстановление


85. sfc - проверка системных файлов
cmd
sfc /scannow


86. dism - ремонт системы
cmd
dism /online /cleanup-image /restorehealth


Резервные копии


87. vssadmin - теневые копии
cmd
vssadmin list shadows
vssadmin create shadow /for=C:


88. bcdedit - загрузчик Windows
cmd
bcdedit /enum
bcdedit /set {current} safeboot network




PowerShell основы


Базовые команды


89. Get-Help - справка
powershell
Get-Help Get-Process
Get-Help about_*


90. Get-Command - список команд
powershell
Get-Command
Get-Command -Module Microsoft.PowerShell.Management


91. Get-Alias - алиасы команд
powershell
Get-Alias
Get-Alias -Name ls,dir


92. Set-Alias - создать алиас
powershell
Set-Alias -Name np -Value notepad.exe


Работа с объектами


93. Select-Object - выбрать свойства
powershell
Get-Process | Select-Object -Property Name,CPU
Get-Service | Select-Object -First 5


94. Where-Object - фильтрация
powershell
Get-Process | Where-Object {$_.CPU -gt 10}
Get-Service | Where-Object {$_.Status -eq "Running"}


95. Sort-Object - сортировка
powershell
Get-Process | Sort-Object -Property CPU -Descending
Get-Service | Sort-Object -Property Name


96. Format-Table/List - форматирование вывода
powershell
Get-Process | Format-Table -AutoSize
Get-Service | Format-List


97. Out-File - вывод в файл
powershell
Get-Process | Out-File -FilePath processes.txt
Get-Service | Out-File services.txt -Encoding UTF8




PowerShell файловая система


Работа с файлами и папками


98. Get-ChildItem - содержимое директории (ls/dir)
powershell
Get-ChildItem
Get-ChildItem -Path C:\ -Recurse -Include *.txt
Get-ChildItem -Path $env:USERPROFILE -Hidden


99. New-Item - создать файл/папку
powershell
New-Item -ItemType File -Path test.txt
New-Item -ItemType Directory -Path "C:\New Folder"


100. Copy-Item - копирование (cp/copy)
powershell
Copy-Item -Path file.txt -Destination backup.txt
Copy-Item -Path C:\source\* -Destination D:\dest -Recurse


101. Move-Item - перемещение (mv/move)
powershell
Move-Item -Path file.txt -Destination D:\files\
Move-Item -Path *.log -Destination archive\


102. Remove-Item - удаление (rm/del)
powershell
Remove-Item -Path file.txt
Remove-Item -Path folder -Recurse -Force


103. Rename-Item - переименование (ren)
powershell
Rename-Item -Path old.txt -NewName new.txt
Get-ChildItem *.txt | Rename-Item -NewName {$_.Name -replace '.txt','.bak'}


Содержимое файлов


104. Get-Content - чтение файла (cat/type)
powershell
Get-Content -Path file.txt
Get-Content -Path log.txt -Tail 10
Get-Content -Path file.txt -Encoding UTF8


105. Set-Content - запись в файл
powershell
Set-Content -Path file.txt -Value "Hello World"
Get-Process | Set-Content processes.txt


106. Add-Content - добавление в файл
powershell
Add-Content -Path log.txt -Value "New entry $(Get-Date)"
"Text" | Add-Content -Path file.txt


Поиск в файлах


107. Select-String - поиск текста (grep/findstr)
powershell
Select-String -Path *.log -Pattern "error"
Get-ChildItem -Recurse | Select-String -Pattern "password"


Атрибуты и свойства


108. Get-ItemProperty - свойства файла
powershell
Get-ItemProperty -Path file.txt
Get-Item -Path file.txt | Select-Object -Property *


109. Set-ItemProperty - изменить свойства
powershell
Set-ItemProperty -Path file.txt -Name IsReadOnly -Value $true




PowerShell процессы и службы


Управление процессами


110. Get-Process - список процессов (ps/tasklist)
powershell
Get-Process
Get-Process -Name chrome
Get-Process | Where-Object {$_.CPU -gt 10}


111. Start-Process - запуск процесса
powershell
Start-Process -FilePath notepad.exe
Start-Process -FilePath cmd.exe -Verb RunAs # от администратора
Start-Process -FilePath ping.exe -ArgumentList "google.com" -NoNewWindow


112. Stop-Process - остановка процесса (kill/taskkill)
powershell
Stop-Process -Id 1234
Stop-Process -Name notepad
Get-Process -Name chrome | Stop-Process -Force


113. Wait-Process - ожидание завершения
powershell
Start-Process -FilePath ping.exe -ArgumentList "google.com" -PassThru | Wait-Process


Службы


114. Get-Service - список служб
powershell
Get-Service
Get-Service -Name wuauserv
Get-Service | Where-Object {$_.Status -eq "Running"}


115. Start-Service - запуск службы
powershell
Start-Service -Name wuauserv


116. Stop-Service - остановка службы
powershell
Stop-Service -Name wuauserv


117. Restart-Service - перезапуск службы
powershell
Restart-Service -Name wuauserv


118. Set-Service - настройка службы
powershell
Set-Service -Name wuauserv -StartupType Automatic
Set-Service -Name wuauserv -DisplayName "Windows Update Service"




PowerShell сеть


Сетевая диагностика


119. Test-Connection - ping
powershell
Test-Connection -ComputerName google.com
Test-Connection -ComputerName 192.168.1.1 -Count 4


120. Resolve-DnsName - DNS разрешение
powershell
Resolve-DnsName -Name google.com
Resolve-DnsName -Name google.com -Type MX


121. Get-NetAdapter - сетевые адаптеры
powershell
Get-NetAdapter
Get-NetAdapter | Where-Object {$_.Status -eq "Up"}


122. Get-NetIPAddress - IP адреса
powershell
Get-NetIPAddress
Get-NetIPAddress -AddressFamily IPv4


123. Get-NetRoute - таблица маршрутизации
powershell
Get-NetRoute


Удаленное управление


124. Enter-PSSession - интерактивная сессия
powershell
Enter-PSSession -ComputerName server01
Enter-PSSession -ComputerName server01 -Credential domain\admin


125. Invoke-Command - выполнить команду удаленно
powershell
Invoke-Command -ComputerName server01 -ScriptBlock {Get-Process}
Invoke-Command -ComputerName (Get-Content servers.txt) -ScriptBlock {Restart-Service wuauserv}


126. Copy-Item - копирование по сети
powershell
Copy-Item -Path C:\file.txt -Destination \\server\share\


Мониторинг сети


127. Get-NetTCPConnection - TCP соединения
powershell
Get-NetTCPConnection
Get-NetTCPConnection -State Established


128. Get-NetUDPEndpoint - UDP соединения
powershell
Get-NetUDPEndpoint




PowerShell Active Directory


Пользователи AD


129. Get-ADUser - пользователи
powershell
Get-ADUser -Filter * -Properties *
Get-ADUser -Identity username
Get-ADUser -Filter {Department -eq "IT"}


130. New-ADUser - создать пользователя
powershell
New-ADUser -Name "John Doe" -SamAccountName jdoe -UserPrincipalName jdoe@domain.com -AccountPassword (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force) -Enabled $true


131. Set-ADUser - изменить пользователя
powershell
Set-ADUser -Identity jdoe -Department "IT" -Title "Administrator"


132. Remove-ADUser - удалить пользователя
powershell
Remove-ADUser -Identity jdoe -Confirm:$false


Группы AD


133. Get-ADGroup - группы
powershell
Get-ADGroup -Filter *
Get-ADGroup -Identity "Domain Admins"


134. Add-ADGroupMember - добавить в группу
powershell
Add-ADGroupMember -Identity "Domain Admins" -Members jdoe


135. Remove-ADGroupMember - удалить из группы
powershell
Remove-ADGroupMember -Identity "Domain Admins" -Members jdoe


Компьютеры AD


136. Get-ADComputer - компьютеры
powershell
Get-ADComputer -Filter *
Get-ADComputer -Identity workstation01


137. Set-ADComputer - изменить компьютер
powershell
Set-ADComputer -Identity workstation01 -Description "User workstation"




PowerShell автоматизация


Скрипты и функции


138. Function - создание функции
powershell
function Get-SystemInfo {
Get-ComputerInfo | Select-Object -Property CsName,OsName,OsVersion
}
Get-SystemInfo


139. Param - параметры функции
powershell
function New-Folder {
param([string]$Path)
New-Item -ItemType Directory -Path $Path
}
New-Folder -Path "C:\NewFolder"


Циклы и условия


140. ForEach-Object - цикл по объектам
powershell
Get-Process | ForEach-Object { $_.Name + " uses " + $_.CPU + " CPU" }
1..10 | ForEach-Object { "Number: $_" }


141. If/Else - условные операторы
powershell
if (Test-Path "C:\file.txt") {
"File exists"
} else {
"File not found"
}


142. Switch - множественный выбор
powershell
switch ($service.Status) {
"Running" { "Service is running" }
"Stopped" { "Service is stopped" }
default { "Unknown status" }
}


Работа с массивами


143. @() - создание массива
powershell
$array = @("item1", "item2", "item3")
$array | ForEach-Object { "Item: $_" }


144. Import-CSV - работа с CSV
powershell
$data = Import-Csv -Path users.csv
$data | Where-Object {$_.Department -eq "IT"}


Запланированные задачи


145. New-ScheduledTask - создать задачу
powershell
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\script.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At "09:00"
Register-ScheduledTask -TaskName "DailyScript" -Action $action -Trigger $trigger




Комбинации CMD + PowerShell


Гибридные скрипты


146. PowerShell из CMD
cmd
powershell -Command "Get-Process | Where-Object {$_.CPU -gt 10}"
powershell -File script.ps1


147. CMD из PowerShell
powershell
cmd /c "dir C:\"
cmd /c "ping google.com"


Конвертация команд


148. CMD → PowerShell эквиваленты
powershell
# dir → Get-ChildItem
Get-ChildItem

# cd → Set-Location
Set-Location C:\

# copy → Copy-Item
Copy-Item file.txt dest.txt

# del → Remove-Item
Remove-Item file.txt

# tasklist → Get-Process
Get-Process

# taskkill → Stop-Process
Stop-Process -Name notepad

# ipconfig → Get-NetIPAddress
Get-NetIPAddress

# netstat → Get-NetTCPConnection
Get-NetTCPConnection


Совместные скрипты


149. BAT + PS гибрид
batch
@echo off
echo Running PowerShell command...
powershell -Command "Get-Service | Where-Object {$_.Status -eq 'Running'} | Select-Object -First 5"
pause


150. PS с CMD командами
powershell
# Выполнить CMD команду
$result = cmd /c "systeminfo | findstr 'OS Name'"
$result

# Парсинг вывода CMD
$uptime = cmd /c "net stats srv | findstr 'since'"
Write-Host "Server uptime: $uptime"




Часто задаваемые вопросы


Общие вопросы


Какую оболочку выбрать - CMD или PowerShell?
Для простых задач используйте CMD - он быстрее и проще. Для автоматизации, администрирования и сложных скриптов выбирайте PowerShell. Начинайте с CMD, постепенно переходите на PowerShell.

Как запустить командную строку от имени администратора?
В Windows 10/11: Win+X → Windows PowerShell (администратор) или Командная строка (администратор). В поиске: cmd → правой кнопкой → запуск от администратора.

Почему команда не работает?
Проверьте: 1) права администратора; 2) правильный синтаксис; 3) путь к файлу; 4) наличие программы. Используйте help command или Get-Help command для справки.

Как выполнить команду на удаленном компьютере?
PowerShell: Invoke-Command -ComputerName server01 -ScriptBlock {команда}. CMD: psexec \\server cmd /c "команда". Требуются соответствующие права.

Технические вопросы


Как создать скрипт PowerShell?
Создайте файл с расширением .ps1. Напишите команды. Для выполнения: правой кнопкой → "Выполнить с помощью PowerShell" или powershell -File script.ps1. Включите выполнение скриптов: Set-ExecutionPolicy RemoteSigned.

Как найти все файлы определенного типа?
CMD: dir C:\*.txt /s /b. PowerShell: Get-ChildItem -Path C:\ -Recurse -Include *.txt. Для больших дисков PowerShell эффективнее.

Как мониторить процесс в реальном времени?
PowerShell: while ($true) { Get-Process -Name chrome | Select-Object CPU,Memory; Start-Sleep 1; Clear-Host }. Или используйте Get-Counter для системных метрик.

Как работать с большими файлами логов?
PowerShell: Get-Content file.log -Tail 100 для последних строк. Select-String -Path *.log -Pattern "error" для поиска. Import-Csv для структурированных логов.

Практические советы


Как автоматизировать рутинные задачи?
Создайте скрипты PowerShell для резервного копирования, очистки временных файлов, мониторинга дисков. Используйте планировщик задач для автоматического запуска.

Как безопасно выполнять неизвестные скрипты?
Проверьте код перед выполнением. Используйте виртуальную машину. Создайте ограниченную учетную запись. Отключите выполнение скриптов по умолчанию.

Как оптимизировать производительность скриптов?
Избегайте конвейеров там, где можно использовать методы (.Where(), .Select()). Используйте [CmdletBinding()] для продвинутых функций. Мерьте производительность с Measure-Command.

Как обрабатывать ошибки в скриптах?
Используйте try/catch блоки. Проверяйте $LASTEXITCODE после CMD команд. Добавляйте -ErrorAction Stop для строгой обработки ошибок.



Заключение


Резюме команд


В этой шпаргалке мы рассмотрели 150+ команд CMD и PowerShell:

CMD команды (85):
- Базовые: help, cd, dir, cls, exit (5)
- Переменные: set, echo, title, color (4)
- Запуск: start, call, cmd, runas, schtasks (5)
- Файлы: tree, vol, copy, xcopy, move, rename, del, type (8)
- Директории: md, rd, attrib (3)
- Поиск: find, findstr, where, fc (4)
- Процессы: tasklist, taskkill, timeout, pause, choice (5)
- Сеть: ping, tracert, ipconfig, nslookup, netstat (5)
- Система: systeminfo, hostname, whoami, net user, sc (5)
- Диски: wmic, fsutil, chkdsk, sfc (4)

PowerShell команды (50):
- Основы: Get-Help, Get-Command, Select-Object, Where-Object (4)
- Файлы: Get-ChildItem, New-Item, Copy-Item, Remove-Item (4)
- Процессы: Get-Process, Start-Process, Stop-Process (3)
- Службы: Get-Service, Start-Service, Stop-Service (3)
- Сеть: Test-Connection, Get-NetAdapter, Invoke-Command (3)
- AD: Get-ADUser, New-ADUser, Get-ADGroup (3)
- Автоматизация: Function, ForEach-Object, If/Else (3)

Комбинации (15): Гибридные скрипты и конвертация команд

Эффективность использования


CMD лучше для:
- Быстрые одноразовые команды
- Совместимость со старыми системами
- Простые операции с файлами

PowerShell лучше для:
- Сложная автоматизация
- Работа с объектами
- Удаленное управление
- Современные инфраструктуры

Лучшие практики


1. Изучайте синтаксис - каждая оболочка имеет особенности
2. Тестируйте команды - сначала на тестовых данных
3. Документируйте скрипты - комментарии и описания
4. Используйте конвейеры - мощная фича PowerShell
5. Автоматизируйте - превращайте рутинные задачи в скрипты

Развитие технологий


Командные строки эволюционируют:
- PowerShell Core - кросс-платформенная версия
- Azure CLI - облачное управление
- AWS CLI - инфраструктура как код
- Terraform - декларативная автоматизация

Важные предупреждения


- Права администратора для системных изменений
- Резервные копии перед массовыми операциями
- Тестирование скриптов в безопасной среде
- Документация всех изменений
- Обновление знаний о новых командах

---

**⚠️ Дисклеймер:** Статья носит информационно-образовательный характер и не содержит инструкций для совершения противоправных действий.