🖨️ Управление принтерами через PowerShell
Для настройки принтеров на удаленных ПК не обязательно подключаться к рабочему столу пользователя.
Пример создания нового принтера:
1️⃣ Подключаемся к целевому ПК с помощью PowerShell Remoting:
2️⃣ Используем
3️⃣ Добавляем драйвер для принтера:
4️⃣ Указываем IP-адрес принтера:
5️⃣ Завершаем установку, создав новый принтер:
Эти команды позволяют управлять принтерами удаленно, без лишних действий и с минимальными затратами времени.
#windows #powershell
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для настройки принтеров на удаленных ПК не обязательно подключаться к рабочему столу пользователя.
Большинство задач можно сделать через PowerShell.
Пример создания нового принтера:
Enter-PSSession -ComputerName Comp1
pnputil.exe, чтобы добавить нужный драйвер:pnputil.exe -i -a "\\server1\drivers\KYOCERA\OEMsetup.inf"
Add-PrinterDriver -Name "Kyocera Classic Universaldriver PCL6"
Add-PrinterPort -Name "IP_10.10.10.10" -PrinterHostAddress "10.10.10.10"
Add-Printer -Name "Ricoh IM 2702" -DriverName "Kyocera Classic Universaldriver PCL6" -PortName "IP_10.10.10.10" -Verbose
Эти команды позволяют управлять принтерами удаленно, без лишних действий и с минимальными затратами времени.
#windows #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥7👎3❤1
Скачали Windows с торрента? Узнайте, как проверить ISO-файл
Скачивание ISO-образов Windows с торрентов несет риск заражения системы троянами и майнерами.
Чтобы проверить подлинность образа, сравните его контрольную сумму с оригиналом. Для этого можно использовать команду в PowerShell:
Контрольные суммы ISO-образов Windows доступны на оф.сайте Microsoft в разделе загрузок.
#windows #powershell #sha256
🧑💻 NetworkAdmin | ⚙️ EasyTools
Скачивание ISO-образов Windows с торрентов несет риск заражения системы троянами и майнерами.
Чтобы проверить подлинность образа, сравните его контрольную сумму с оригиналом. Для этого можно использовать команду в PowerShell:
Get-FileHash .\файл.iso -Algorithm SHA256
Контрольные суммы ISO-образов Windows доступны на оф.сайте Microsoft в разделе загрузок.
#windows #powershell #sha256
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍19🔥3🤡2
Не удается сменить часовой пояс в Windows Server? Простые решения проблемы
В Windows Server 2019 и 2022 иногда возникает неприятный нюанс: сменить часовой пояс через графический интерфейс не удается, даже если вы работаете под учетной записью администратора.
Чтобы обойти эту проблему, можно воспользоваться утилитой tzutil или командой PowerShell.
▪️ Смена часового пояса через tzutil
Запустите командную строку от имени администратора и введите:
Эта команда установит часовой пояс для Москвы. Для других часовых поясов можно указать соответствующее имя, доступное в системе.
▪️ Использование PowerShell для смены часового пояса
Запустите PowerShell с правами администратора и выполните:
Команда автоматически найдет часовой пояс с названием, содержащим «Moscow», и установит его.
▪️ Альтернативный способ: запуск панели управления от имени администратора
Если нужен графический интерфейс, запустите timedate.cpl в режиме «Запуск от имени администратора». Это также может решить проблему с доступом.
#windows #powershell #tzutil
🧑💻 NetworkAdmin | ⚙️ EasyTools
В 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤡1
Как восстановить разрешения на файл или папку
Некорректные действия с разрешениями файлов или папок могут привести к их недоступности.
В таких ситуациях с помощью PowerShell можно решить проблему буквально в два шага:
1️⃣ Открыть PowerShell от имени администратора.
2️⃣ Выполнить следующие команды:
Эти команды копируют список контроля доступа у исправного файла networks и применяют его к поврежденному файлу hosts. В результате восстанавливаются стандартные разрешения и владелец файла.
‼️ Важно:
▪️ Параметр -Path можно не указывать, так как он является первым позиционным параметром в командах.
▪️ Для внесения изменений в системные файлы необходимо запускать текстовый редактор с правами администратора. Без этого сохранить изменения будет невозможно.
#hosts #powershell
🧑💻 NetworkAdmin | ⚙️ EasyTools
Некорректные действия с разрешениями файлов или папок могут привести к их недоступности.
Например, попытка сделать файл hosts только для чтения ради сохранения какого-то «кряка», может полностью сломать его доступ.
В таких ситуациях с помощью PowerShell можно решить проблему буквально в два шага:
cd C:\Windows\System32\drivers\etc
Get-Acl networks | Set-Acl hosts
Эти команды копируют список контроля доступа у исправного файла networks и применяют его к поврежденному файлу hosts. В результате восстанавливаются стандартные разрешения и владелец файла.
▪️ Параметр -Path можно не указывать, так как он является первым позиционным параметром в командах.
▪️ Для внесения изменений в системные файлы необходимо запускать текстовый редактор с правами администратора. Без этого сохранить изменения будет невозможно.
#hosts #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁2❤1
с помощью PowerShell
Чтобы быстро установить обновления на Windows серверах, можно использовать PowerShell-модуль PSWindowsUpdate.
Из 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
Invoke-WUJob -ComputerName $Srvs -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll -AutoReboot | Out-File "C:\update.log"} -RunNow -Confirm:$false -Verbose -ErrorAction IgnoreЭта команда создаст задачу планировщика с правами SYSTEM на каждом сервере. Задача скачает и установит обновления, а затем автоматически перезагрузит сервер.
Get-WUJob -ComputerName $Srvs
Этот подход позволяет централизованно управлять обновлениями и экономит время при обновлении большого числа серверов.
#windows #windowsserver #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤1
Как передавать большие файлы по нестабильным каналам с минимальной нагрузкой?
Для копирования больших файлов между Windows-хостами по медленному, нестабильному или критически загруженному каналу идеально подходит протокол BITS.
Преимущества:
▪️ Автоматическая регулировка скорости передачи, чтобы не мешать другим приложениям.
▪️ Поддержка докачки даже после разрыва соединения или перезагрузки ПК.
▪️ Совместимость с SMB и HTTP.
Пример команды PowerShell:
1️⃣ Создание асинхронного задания:
2️⃣ Проверка прогресса:
3️⃣ Завершение копирования:
Используйте BITS для эффективной передачи данных без лишней нагрузки на сеть.
#bits #powershell
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для копирования больших файлов между Windows-хостами по медленному, нестабильному или критически загруженному каналу идеально подходит протокол BITS.
Преимущества:
Пример команды PowerShell:
Start-BitsTransfer -Source C:\win11.vhdx -Destination \\srv\c$\image -Asynchronous -Priority low -DisplayName CopyVHDX
Get-BitsTransfer -Name CopyVHDX
Get-BitsTransfer -Name CopyVHDX | Complete-BitsTransfer
Используйте BITS для эффективной передачи данных без лишней нагрузки на сеть.
#bits #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥3
🔔 Как отправить красивые уведомления через PowerShell
Для отправки уведомлений пользователям удалённых Windows-компьютеров можно использовать скрипт PowerShell RemoteSendToastNotification.ps1.
▪️ Основные функции скрипта:
• Создание уведомлений с заголовком, текстом, иконками.
• Поддержка кнопок действий (например, открыть ссылку).
• Отправка на удалённые компьютеры через PowerShell Remoting.
▪️ Пример использования:
Уведомление о перезагрузке сервера:
Интерактивное уведомление с кнопкой:
#powershell #windows #microsoft
🧑💻 NetworkAdmin | ⚙️ EasyTools
Для отправки уведомлений пользователям удалённых 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥5
Windows позволяет быстро экспортировать установленные драйверы. Это удобно при переустановке системы или создании резервной копии.
Export-WindowsDriver –Online -Destination C:\drivers
Все сторонние драйверы вместе с файлами INF, SYS, CAT и DLL будут экспортированы в указанный каталог.
pnputil.exe /add-driver C:\drivers\*.inf /subdirs /install
Найдите имя INF-файла:
Get-WindowsDriver -Online | where {($_.ProviderName -like "Realtek") -and ($_.ClassName -like "Net")}
Экспортируйте драйвер:
pnputil.exe /export-driver oem20.inf C:\drivers\realtek
#windows #backup #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45
Несколько раз сталкивался с неприятной проблемой: при наборе или вставке текста в PowerShell внезапно "пропадают" заглавные буквы. Особенно заметно, если набираете команды в кириллической раскладке - PowerShell просто не реагирует на Shift.
Проблема возникает из-за сбоя в модуле PSReadLine, который отвечает за подсветку, автодополнение, историю команд и другие удобства в CLI.
# Проверим установленную версию
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.
#powershell #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤1😁1
Иногда пользователи не могут сменить истекающий пароль - особенно если подключаются к домену через VPN, RDP или веб-интерфейс, где просто нет соответствующих инструментов. Вариант «поставить галку на бессрочный пароль» выглядит заманчиво, но так легко забыть отключить её, и в итоге у пользователя остается пароль без ограничений.
В AD есть специальный атрибут
pwdLastSet, который хранит дату последней смены пароля. Редактировать его напрямую нельзя, но можно «обновить» его:
# Сначала сбрасываем атрибут
Set-ADUser petrov.pa -Replace @{pwdLastSet=0}
# Затем задаём текущую дату как дату смены пароля
Set-ADUser petrov.pa -Replace @{pwdLastSet=-1}
#ActiveDirectory #PowerShell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27
Админы, привыкшие к bash и linux, часто недооценивают powershell. А зря - это также неплохая оболочка, которая умеет не только выполнять команды, но и работать с объектами, сервисами и API windows. Ниже несколько полезных сценариев, которые пригодятся, если админите и linux, и windows.
# Процессы по имени
Get-Process | Where-Object { $_.ProcessName -like "*chrome*" }
# Открытые TCP-порты
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }
# Найти все *.log файлы и удалить старше 7 дней
Get-ChildItem -Path "C:\Logs" -Filter *.log -Recurse |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
Remove-Item -Force
$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')" }
}
# Проверить статус службы
Get-Service -Name "Spooler"
# Перезапустить службу
Restart-Service -Name "Spooler"
Invoke-RestMethod -Uri "https://api.ipify.org?format=json"
# Системная информация
Get-ComputerInfo | Select-Object CsName, WindowsVersion, OsArchitecture
# Диски
Get-PSDrive -PSProvider FileSystem
#powershell #windows
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍2🔥2
Если вы хотите получить максимально легкий и чистый образ windows 11 - без мусора, предустановленных приложений и ненужных сервисов, то обратите внимание на nano11.
Это PowerShell-скрипт, который автоматизирует процесс сборки сильно урезанной версии Windows 11. Он использует встроенные средства DISM и oscdimg.exe, не требуя никаких внешних утилит. В результате получается компактный ISO-образ, идеально подходящий для тестирования, отладки или развертывания на виртуальных машинах.
Создает минимальный ISO-образ Windows 11
Удаляет все предустановленные приложения и лишние компоненты
Не поддерживает обновления и добавление языков (только базовая сборка)
Подходит для VM и изолированных окружений
Полностью открытый исходный код, можно модифицировать под свои задачи
Репозиторий проекта
#windows #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤7🔥3
PowerShell - это не просто консоль, а полноценная среда для удаленного администрирования. Один из ее инструментов - PowerShell Remoting, позволяющий выполнять команды и скрипты на других windows серверах (и даже на linux) почти так же, как по SSH.
PowerShell Remoting - это механизм, основанный на WinRM (Windows Remote Management), который реализует стандарт WS-Management.
Он позволяет запускать команды, выполнять скрипты и даже открывать интерактивную сессию на удаленной машине.
По сути, это SSH для windows, встроенный в систему начиная с windows 7 / server 2008 R2.
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
Если хотите шифровать трафик, то настройте 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤1