NetworkAdmin.ru
4.78K subscribers
224 photos
26 videos
2 files
511 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
🖨️ Управление принтерами через PowerShell

Для настройки принтеров на удаленных ПК не обязательно подключаться к рабочему столу пользователя.

Большинство задач можно сделать через PowerShell.


Пример создания нового принтера:

1️⃣ Подключаемся к целевому ПК с помощью PowerShell Remoting:

Enter-PSSession -ComputerName Comp1


2️⃣ Используем pnputil.exe, чтобы добавить нужный драйвер:

pnputil.exe -i -a "\\server1\drivers\KYOCERA\OEMsetup.inf"


3️⃣ Добавляем драйвер для принтера:

Add-PrinterDriver -Name "Kyocera Classic Universaldriver PCL6"


4️⃣ Указываем IP-адрес принтера:

Add-PrinterPort -Name "IP_10.10.10.10" -PrinterHostAddress "10.10.10.10"


5️⃣ Завершаем установку, создав новый принтер:

Add-Printer -Name "Ricoh IM 2702" -DriverName "Kyocera Classic Universaldriver PCL6" -PortName "IP_10.10.10.10" -Verbose


Эти команды позволяют управлять принтерами удаленно, без лишних действий и с минимальными затратами времени.

#windows #powershell

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥7👎31
Скачали Windows с торрента? Узнайте, как проверить ISO-файл

Скачивание ISO-образов Windows с торрентов несет риск заражения системы троянами и майнерами.

Чтобы проверить подлинность образа, сравните его контрольную сумму с оригиналом. Для этого можно использовать команду в PowerShell:

Get-FileHash .\файл.iso -Algorithm SHA256


Контрольные суммы ISO-образов Windows доступны на оф.сайте Microsoft в разделе загрузок.

#windows #powershell #sha256

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍19🔥3🤡2
Не удается сменить часовой пояс в Windows Server? Простые решения проблемы

В Windows Server 2019 и 2022 иногда возникает неприятный нюанс: сменить часовой пояс через графический интерфейс не удается, даже если вы работаете под учетной записью администратора.

При попытке изменить его через классическую панель управления (timedate.cpl) или «Параметры» появляется ошибка о недостатке разрешений.


Чтобы обойти эту проблему, можно воспользоваться утилитой tzutil или командой PowerShell.

▪️ Смена часового пояса через tzutil

Запустите командную строку от имени администратора и введите:

tzutil /s "Russian Standard Time"


Эта команда установит часовой пояс для Москвы. Для других часовых поясов можно указать соответствующее имя, доступное в системе.

▪️ Использование PowerShell для смены часового пояса

Запустите PowerShell с правами администратора и выполните:

Get-TimeZone -ListAvailable | ? DisplayName -like "*Moscow*" | Set-TimeZone


Команда автоматически найдет часовой пояс с названием, содержащим «Moscow», и установит его.

▪️ Альтернативный способ: запуск панели управления от имени администратора

Если нужен графический интерфейс, запустите timedate.cpl в режиме «Запуск от имени администратора». Это также может решить проблему с доступом.

#windows #powershell #tzutil

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤡1
Как восстановить разрешения на файл или папку

Некорректные действия с разрешениями файлов или папок могут привести к их недоступности.

Например, попытка сделать файл hosts только для чтения ради сохранения какого-то «кряка», может полностью сломать его доступ.


В таких ситуациях с помощью PowerShell можно решить проблему буквально в два шага:

1️⃣ Открыть PowerShell от имени администратора.
2️⃣ Выполнить следующие команды:

cd C:\Windows\System32\drivers\etc
Get-Acl networks | Set-Acl hosts


Эти команды копируют список контроля доступа у исправного файла networks и применяют его к поврежденному файлу hosts. В результате восстанавливаются стандартные разрешения и владелец файла.

‼️ Важно:

▪️ Параметр -Path можно не указывать, так как он является первым позиционным параметром в командах.

▪️ Для внесения изменений в системные файлы необходимо запускать текстовый редактор с правами администратора. Без этого сохранить изменения будет невозможно.

#hosts #powershell

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁21
🔄 Автоматическая установка обновлений на Windows Server
с помощью
PowerShell

Чтобы быстро установить обновления на Windows серверах, можно использовать PowerShell-модуль PSWindowsUpdate.

1️⃣ Составьте список серверов

Из AD:
$Srvs = Get-ADComputer -SearchBase "OU=Servers,DC=test,DC=loc" -Filter {OperatingSystem -like "*Windows Server*"} | Select -ExpandProperty name


Или из текстового файла:
$Srvs = Get-Content C:\servers.txt


2️⃣ Установите обновления и перезагрузите серверы
Invoke-WUJob -ComputerName $Srvs -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll -AutoReboot | Out-File "C:\update.log"} -RunNow -Confirm:$false -Verbose -ErrorAction Ignore


Эта команда создаст задачу планировщика с правами SYSTEM на каждом сервере. Задача скачает и установит обновления, а затем автоматически перезагрузит сервер.

3️⃣ Проверьте статус установки обновлений
Get-WUJob -ComputerName $Srvs


Этот подход позволяет централизованно управлять обновлениями и экономит время при обновлении большого числа серверов.

#windows #windowsserver #powershell

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥31
Как передавать большие файлы по нестабильным каналам с минимальной нагрузкой?

Для копирования больших файлов между Windows-хостами по медленному, нестабильному или критически загруженному каналу идеально подходит протокол BITS.

Преимущества:

▪️ Автоматическая регулировка скорости передачи, чтобы не мешать другим приложениям.

▪️ Поддержка докачки даже после разрыва соединения или перезагрузки ПК.

▪️ Совместимость с SMB и HTTP.

Пример команды PowerShell:

1️⃣ Создание асинхронного задания:
Start-BitsTransfer -Source C:\win11.vhdx -Destination \\srv\c$\image -Asynchronous -Priority low -DisplayName CopyVHDX


2️⃣ Проверка прогресса:
Get-BitsTransfer -Name CopyVHDX


3️⃣ Завершение копирования:
Get-BitsTransfer -Name CopyVHDX | Complete-BitsTransfer


Используйте BITS для эффективной передачи данных без лишней нагрузки на сеть.

#bits #powershell

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥3
🔔 Как отправить красивые уведомления через PowerShell

Для отправки уведомлений пользователям удалённых Windows-компьютеров можно использовать скрипт PowerShell RemoteSendToastNotification.ps1.

▪️ Основные функции скрипта:

• Создание уведомлений с заголовком, текстом, иконками.
• Поддержка кнопок действий (например, открыть ссылку).
• Отправка на удалённые компьютеры через PowerShell Remoting.

▪️ Пример использования:

Уведомление о перезагрузке сервера:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Внимание!" `
-Message "Сервер будет перезагружен через 10 минут. Сохраните данные." `
-IconPath "C:\Images\warning.png"


Интерактивное уведомление с кнопкой:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Обновление системы" `
-Message "Нажмите для подробностей." `
-ActionButton @{ "Подробнее" = "https://example.com" }


#powershell #windows #microsoft

🧑‍💻 NetworkAdmin | ⚙️ EasyTools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥5
🔄 Резервное копирование драйверов в Windows

Windows позволяет быстро экспортировать установленные драйверы. Это удобно при переустановке системы или создании резервной копии.

▪️ Экспорт всех драйверов:


Export-WindowsDriver –Online -Destination C:\drivers


Все сторонние драйверы вместе с файлами INF, SYS, CAT и DLL будут экспортированы в указанный каталог.

▪️ Установка драйверов из каталога:


pnputil.exe /add-driver C:\drivers\*.inf /subdirs /install


▪️ Экспорт одного драйвера (например, Realtek):

Найдите имя INF-файла:


Get-WindowsDriver -Online | where {($_.ProviderName -like "Realtek") -and ($_.ClassName -like "Net")}


Экспортируйте драйвер:

pnputil.exe /export-driver oem20.inf C:\drivers\realtek


#windows #backup #powershell

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45
🏃 Баг с заглавными буквами в PowerShell при кириллической раскладке

Несколько раз сталкивался с неприятной проблемой: при наборе или вставке текста в PowerShell внезапно "пропадают" заглавные буквы. Особенно заметно, если набираете команды в кириллической раскладке - PowerShell просто не реагирует на Shift.

Проблема возникает из-за сбоя в модуле PSReadLine, который отвечает за подсветку, автодополнение, историю команд и другие удобства в CLI.


Решение - обновить или переустановить PSReadLine:


# Проверим установленную версию
Get-Module | Where-Object Name -eq "PSReadLine" | Select-Object Name, Path

# Удалим старую версию
Remove-Module PSReadLine
Remove-Item "C:\Program Files\WindowsPowerShell\Modules\PSReadLine\*" -Recurse -Force

# Установим последнюю версию из PSGallery
Install-Module PSReadLine -Force


Модуль будет установлен в актуальной версии, и проблема с заглавными буквами исчезнет. После установки перезапустите PowerShell.

⭐️ Совет: добавьте в profile.ps1 строку Import-Module PSReadLine, если он не загружается автоматически.

#powershell #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍161😁1
🕘 Как продлить срок действия пароля в Active Directory без его смены

Иногда пользователи не могут сменить истекающий пароль - особенно если подключаются к домену через VPN, RDP или веб-интерфейс, где просто нет соответствующих инструментов. Вариант «поставить галку на бессрочный пароль» выглядит заманчиво, но так легко забыть отключить её, и в итоге у пользователя остается пароль без ограничений.

🔎 Что делать?

В AD есть специальный атрибут pwdLastSet, который хранит дату последней смены пароля. Редактировать его напрямую нельзя, но можно «обновить» его:


# Сначала сбрасываем атрибут
Set-ADUser petrov.pa -Replace @{pwdLastSet=0}

# Затем задаём текущую дату как дату смены пароля
Set-ADUser petrov.pa -Replace @{pwdLastSet=-1}


В результате система считает, что пользователь только что сменил пароль, и срок действия начинается заново. Пользователь продолжает работу, и вы не нарушаете политику безопасности.

#ActiveDirectory #PowerShell

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27
🏃 PowerShell шпаргалки для linux админа

Админы, привыкшие к bash и linux, часто недооценивают powershell. А зря - это также неплохая оболочка, которая умеет не только выполнять команды, но и работать с объектами, сервисами и API windows. Ниже несколько полезных сценариев, которые пригодятся, если админите и linux, и windows.

▪️ Мониторинг процессов и портов. Аналог ps aux | grep и ss -tulpn:


# Процессы по имени
Get-Process | Where-Object { $_.ProcessName -like "*chrome*" }

# Открытые TCP-порты
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }


▪️ Массовая работа с файлами. Аналог find + xargs:


# Найти все *.log файлы и удалить старше 7 дней
Get-ChildItem -Path "C:\Logs" -Filter *.log -Recurse |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
Remove-Item -Force


▪️ Проверка доступности хостов. Аналог ping + for:


$hosts = "8.8.8.8","1.1.1.1","networkadmin.ru"
foreach ($h in $hosts) {
Test-Connection -ComputerName $h -Count 2 -Quiet |
ForEach-Object { "$h -> $($_ -replace 'True','OK' -replace 'False','Fail')" }
}


▪️ Работа с сервисами. Аналог systemctl:


# Проверить статус службы
Get-Service -Name "Spooler"

# Перезапустить службу
Restart-Service -Name "Spooler"


▪️ Сетевые запросы и API. Аналог curl:


Invoke-RestMethod -Uri "https://api.ipify.org?format=json"


▪️ Сбор информации о системе. Аналог lshw и df -h:


# Системная информация
Get-ComputerInfo | Select-Object CsName, WindowsVersion, OsArchitecture

# Диски
Get-PSDrive -PSProvider FileSystem


#powershell #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍2🔥2
🏠 Создание минималистичного образа Windows 11

Если вы хотите получить максимально легкий и чистый образ windows 11 - без мусора, предустановленных приложений и ненужных сервисов, то обратите внимание на nano11.

Это PowerShell-скрипт, который автоматизирует процесс сборки сильно урезанной версии Windows 11. Он использует встроенные средства DISM и oscdimg.exe, не требуя никаких внешних утилит. В результате получается компактный ISO-образ, идеально подходящий для тестирования, отладки или развертывания на виртуальных машинах.


▪️ Возможности nano11:

Создает минимальный ISO-образ Windows 11
Удаляет все предустановленные приложения и лишние компоненты
Не поддерживает обновления и добавление языков (только базовая сборка)
Подходит для VM и изолированных окружений
Полностью открытый исходный код, можно модифицировать под свои задачи

Репозиторий проекта 😺

#windows #powershell

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87🔥3
🏠 Управление windows серверами как по SSH

PowerShell - это не просто консоль, а полноценная среда для удаленного администрирования. Один из ее инструментов - PowerShell Remoting, позволяющий выполнять команды и скрипты на других windows серверах (и даже на linux) почти так же, как по SSH.

PowerShell Remoting - это механизм, основанный на WinRM (Windows Remote Management), который реализует стандарт WS-Management.
Он позволяет запускать команды, выполнять скрипты и даже открывать интерактивную сессию на удаленной машине.

По сути, это SSH для windows, встроенный в систему начиная с windows 7 / server 2008 R2.


⚙️ Настройка PowerShell Remoting. На целевом сервере достаточно выполнить одну команду:


Enable-PSRemoting -Force


Эта команда:

Включает службу WinRM,
Настраивает слушатель HTTP (порт 5985) и HTTPS (порт 5986),
Добавляет правила в брандмауэр.

Проверяем статус:


Get-Service WinRM


🌐 Подключение к удаленной системе

Подключиться можно тремя способами:

1. Выполнить одиночную команду:


Invoke-Command -ComputerName server01 -ScriptBlock { Get-Service }


2. Открыть интерактивную сессию:


Enter-PSSession -ComputerName server01


(аналог ssh user@server)

3. Создать постоянную сессию и использовать её повторно:


$session = New-PSSession -ComputerName server01
Invoke-Command -Session $session -ScriptBlock { Get-Process }
Remove-PSSession $session


🔓 PowerShell Remoting через HTTPS и SSH

Если хотите шифровать трафик, то настройте HTTPS-сессию (WinRM через TLS).
А начиная с PowerShell 7, можно использовать нативный SSH-транспорт:


Enter-PSSession -HostName server01 -UserName admin


Теперь PowerShell работает поверх SSH - удобно, безопасно и кроссплатформенно.

⚠️ Практические сценарии

Массовый перезапуск служб:


Invoke-Command -ComputerName (Get-Content servers.txt) -ScriptBlock { Restart-Service spooler }


Сбор информации о дисках или обновлениях на всех серверах:


Invoke-Command -ComputerName * -ScriptBlock { Get-HotFix }


Запуск скриптов администрирования без входа по RDP.

🆘 Советы

Для доменной инфраструктуры remoting работает из коробки.
Для рабочих групп используйте Enable-PSRemoting + Set-Item WSMan:\localhost\Client\TrustedHosts *.
На проде лучше ограничить доступ с помощью HTTPS, Kerberos или SSH.

#powershell #windows

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111