Сообщество - Лига Сисадминов

Лига Сисадминов

2 349 постов 18 850 подписчиков

Популярные теги в сообществе:

39

Управление питанием сетевого адаптера Wake-on-LAN с PowerShell

@RaiJu, пост для вас.

Подробное руководство по настройке Wake-on-LAN и Magic Packet с помощью PowerShell.

Magic Packet — это специальный сетевой фрейм, посылаемый для пробуждения устройства через Wake-on-LAN. Чтобы WoL работал, сетевой адаптер должен поддерживать Magic Packet и быть настроен на его приём.

Дисклеймер. На пикабу нет редактора кода, поэтому картинками и плохим форматирование. В конце статьи вы найдете ссылку на github, где все нормально отображается.

Шаг 1: Идентификация устройства.

> Get-PnpDevice | Where-Object { $_.FriendlyName -like "*Realtek*" } | Select-Object FriendlyName, Status, Class, InstanceId

Эта команда говорит системе:

"Покажи мне все устройства, в названии которых есть слово «Realtek», и выведи по ним таблицу с четырьмя колонками: полное имя, статус, класс и системный ID."

  1. Get-PnpDevice: Берет полный список всех Plug-and-Play устройств.

  2. | (Конвейер): Передает список дальше.

  3. Where-Object { ... }: Фильтрует список, оставляя устройства, чье имя (FriendlyName) содержит "Realtek".

  4. | (Конвейер): Передает отфильтрованный список.

  5. Select-Object ...: Форматирует вывод, показывая только нужные свойства.

Запоминаем устройство в $device

$device = Get-PnpDevice | Where-Object { $_.FriendlyName -like "*Realtek*" } | Select-Object FriendlyName, Status, Class, InstanceId

Записываем его свойства в переменные
> $DeviceName = $device.FriendlyName
> $InstanceId = $device.InstanceId
> $pmKey = "HKLM:\SYSTEM\CurrentControlSet\Enum\$InstanceId\Device Parameters"

Шаг 2: Глобальное разрешение на пробуждение

Команда powercfg дает устройству "официальное" разрешение от Windows на пробуждение системы.
> powercfg -deviceenablewake $DeviceName

Эта команда эквивалентна установке флажка "Разрешить этому устройству выводить компьютер из ждущего режима".

Отключение:
> powercfg -devicedisablewake $DeviceName

Шаг 3: Настройка драйвера.

Настройки WOL находятся в параметрах самого драйвера, которые хранятся в реестре. Чтобы установить флажок "Только разрешать магическому пакету выводить компьютер из ждущего режима", используем команду Set-ItemProperty.

> Set-ItemProperty -Path $pmKey -Name "*WakeOnMagicPacket" -Value 1

Обратное действие — отключение WOL (Value 0):

> Set-ItemProperty -Path $pmKey -Name "*WakeOnMagicPacket" -Value 0

Здесь возникает проблема. Имя этого параметра может отличаться у разных производителей. Например, для Intel это *WakeOnMagicPacket, а для Realtek — WakeOnMagicPacket (без *). Если настройка не применяется, проверьте правильное имя командой Get-ItemProperty -Path $pmKey и используйте его.

Шаг 4: Завершающая настройка через CIM

Для полной уверенности в том, что настройки управления питанием применены корректно, используем современный стандарт CIM (Common Information Model).

Находим CIM-объект, связанный с нашим устройством.
> $adapterCim = Get-CimInstance -Namespace root\wmi -ClassName MSPower_DeviceEnable | Where-Object { $_.InstanceName -like "*$($instanceId.Split('\')[-1])*" }

Применяем к нему изменения.
> if ($adapterCim) { Set-CimInstance -CimInstance $adapterCim -Property @{ Enable = $true } }

Весь процесс

Весь процесс

Готовый скрипт можно скачать отсюда.
Статья здесь

Полезно? Подпишись.
Понравилось — ставь «+»
Удачи! 🚀

Другие статьи о PowerShell

Философия PowerShell. Части 0,1 Вступление и первый командлет

Часть 2: Конвейер (Pipeline), переменные, Get-Member, файл .ps1 и экспорт результатов

Часть 3: Навигация и управление файловой системой. Знакомство с операторами логики и функциями

Диагностика и восстановление дисков с помощью PowerShell

Показать полностью 2
8

Новый ноутбук -3 и Hyper-V. Внезапный DHCP и внезапный NAT на Windows 11 24h2

Для ЛЛ: очень интересно, но не понятно

Продолжаю играть в новый ноутбук и Hyper-V. Внезапно для себя, развернул все что надо в виртуальных машинах, играю, никого не трогаю, и вдруг такой думаю – надо бы настроить статику, А СТОП.
Оказалось, что внезапно для меня – Hyper-V под Windows 11 поднял себе маленький DHCP сервер. То есть взял, сделал сам себе виртуальную сетевую карту, назначил туда какой-то IP и сидит себе, слушает 67 и 68 порт, что видно и по старой школе:
netstat -an | findstr ":67"
Или по новой школе, которую писали странные люди, потому что есть
Get-NetTCPConnection -State Listen
А есть
Get-NetUDPEndpoint
где слушается и 67, и 68, и даже 53. ВОТ ЭТО ПОВОРОТ.

И Linux вполне получает какой-то внутренний адрес, и пишет в своем
cat /var/lib/dhcp/dhclient.eth0.leases

Что получил IP у Hyper-V.
НУ И КАК ЭТО ПОНИМАТЬ?

Оно еще и NAT поддерживает. Я, конечно, понимаю заботу Microsoft, но это было .. неожиданно. И средств управления нет, никаких.
Просто работает.

То есть, вот так можно было создать это все руками:
Windows 10 and Windows 11 Hyper-V allows native network address translation (NAT) for a virtual network.

Очень неприятное открытие, потому что статику в таких тестах не настроить без перестройки всей сети.  

Показать полностью
10

Экспертиза уровня B, или высшая школа экономики в 2025 году

Для ЛЛ: Доклад абсолютно игнорирует технологическую базу, и написан в стиле 2015 года.

31.07.2025 Институт статистических исследований и экономики знаний Высшей школы экономики (ИСИЭЗ НИУ ВШЭ) в рамках реализованного при поддержке «Яндекса» форсайт-исследования выделил четыре сценария развития отечественного ИТ-рынка до 2028 года. Результаты изложены в аналитическом докладе «Информационные технологии в России: сценарии развития».

Доклад размером 214 страниц лежит открыто, и на 50% представляет из себя слайды и презентации на половину страницы. Еще часть это просто пустые страницы, без текста и картинок. Воды в остальном тексте и компоновке текста столько, что можно два раза Сахару полить.

Булшит бинго 2015

Булшит бинго 2015

Примечание. Я не хотел писать эту заметку, но очень попросили. Я же, как дегенеративная нейросеть, поддался на обещания «прилететь и устроить мне всякое», в обмен на заметку. ТАК ВОТ МАША! ТРИ РУБЛЯ С ТЕБЯ ПРИЧИТАЕТСЯ.

Выжимки нет, но отдельные моменты стоит разобрать, что понять, какое дно на этот раз пробила ВШЭ. Можно просто читать по некоторым пунктам:

Страница 30.
1.  Россия обладает существенным человеческим потенциалом для развития технологий:

• Высокий уровень технической экспертизы
• Высокий уровень образованности населения

В России нет своего производства ни современных, ни не очень современных электронных компонентов. Вчера зарегистрированные пользователи превозносят как великое достижение – пересборку станка 350 нм из Белоруссии (или Беларуси, или Беларусь это трактор, почти как Dobrynya ?). При этом станок не серийный, имеющееся в России производство микроэлектронных компонентов работает на станках ASML (Нидерланды), и на расходных материалах из Китая и Европы.
Про уровень технической экспертизы невозможно говорить без анализа технического производства. Массового производства нет, производства отдельных компонентов совсем нет, про какую экспертизу речь?

Уровень образованности можно мерять по победителям олимпиад или по индексам цитирования и прочим Хиршам. Победители олимпиад есть. Цитирования и прочих Хиршей нет.

Высокий инновационный потенциал развития технологий на внутреннем  ИТ-рынке:
Уровень технологической конкуренции в настоящее время невысок

В России нет технологической конкуренции ни «внутри» ни «снаружи». Потому что физические основы технологии, все эти чипы, микросхемы, итд, в РФ не просто не производятся, их еще и некуда ставить. В России отсутствуют специализированные дата центры, позволяющие установку современных технологических решений (про это ниже). Да и не современных тоже, текущие массовые нормы проектирования питания в российских ЦОД по 5Квт на ветку питания, и 5-7 киловатт отвода тепла, не позволяют монтировать современную высокоплотную компоновку.

Относительно слабое влияние на развитие технологий таких экономических факторов, как инфляция, курс валют и т.п.

Если 100% технологической базы закупается за рубежом, то как курс может «не влиять»?

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

И это пишет ВШЭ.

В 2025 году в ВШЭ могли бы знать, что в РФ отсутствует даже «своя» массовая и контролируемая операционная система. Есть купленная, и почти не развиваемая Аврора для мобильных устройств, есть разные форки Linux, но ядро ОС при этом все тот же Linux. В итоге уровень контроля и вклада РФ в развитие хотя бы ядра ОС Linux ниже, чем у Huawei, частной организации из Китая. Huawei на днях внес исправления в EXT4, от РФ ничего подобного не поступало. Huawei разрабатывает и поддерживает свою EulerOS и свою  HarmonyOS, в России проектов подобного уровня нет. Kaspersky OS живет в другом сегменте.

В 2025 году в ВШЭ могли бы знать, что стоимость разработки в капитализме нужно покрывать прибылью, и что рынок РФ не очень емок и не очень «богат». Поэтому развитие аналоговнетов – это или переклейка этикеток, или доработка интерфейсов. Серьезные проекты есть, но они не то что «не догоняют», они, с их текущей скоростью разработки, опираются на опенсорс решения, а опенсорс решения, в свою очередь, уже несколько лет перестали «догонять коммерческие», а перешли на модель «коммерческого развития».
Все, поколение Столлмана ушло, no money, no parts, no deal.

Бугуртовоз Пингвин

Бугуртовоз Пингвин

Даже основной нагревательный элемент бугуртовоза уже не генерирует пар.

Ожидается усиленная интеграция ИИ в различные сферы жизни, включая здравоохранение, образование и финансы. Мы увидим, как ИИ будет использоваться для диагностики заболеваний..

ИИ для диагностики заболеваний, точнее IBM Watson Health, используется как публичное коммерческое решения с апреля 2015 года. Больше 10 лет.

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

Я понимаю, в ВШЭ новости приходят с опозданием лет на 10, но генерируемый контент, а точнее генерируемые модели с размером 34B - 36C (или, по русски, третий плюс), уже два -три года приносят создателям неплохие деньги. На днях на Байду провели 6 часовой стрим с 100% AI генерацией продаж. Для ВШЭ это «какое-то будущее», для остального мира – ежедневная практика.

И это доклад 2025 года, не 2015, не 2020.

Страница 52.
ИИ становится неотъемлемой частью повседневной жизни: от «умных домов» и автоматизированных систем управления до персонализированных медицинских услуг и образовательных программ. Люди начинают активно полагаться на ИИ для улучшения качества своей жизни

ВШЭ отстала лет на 5 в докладе. Сейчас проблема не в том, что люди используют ИИ. Проблема в том, что люди не пытаются оценить применимость решения ИИ. То есть, ИИ генерирует некий код, или что-то. При этом код может оказаться не просто не работающим, а не содержащим критически важных компонентов и проверок. Потому что спрашивающий не знал, что этот компонент нужен, и его надо проверять, а ИИ сгенерировала решения для частного случая, вне контекста.

Страница 87.
Это большая и пока не решенная проблема:  как часть вычислений перенести на так называемое Edge, то есть конечное пользовательское устройство. Она  периодически обсуждается, и тот, кто решит ее первым, сорвет банк.  Потому что истории с генеративками очень ресурсозатратные. Если мы научимся генерировать условную картинку или  текст на компьютере пользователя, пусть даже с худшим качеством, то это упростит жизнь всем.

Локальные модели крутят дома уже пару лет все, кому не лень. Deep Learning Super Sampling (DLSS) – это 2020 год, решению больше пяти лет, текущая версия – 4.0.

Страница 172.
Однако имеющийся в стране технологический задел позволяет поддерживать определенный уровень независимости в ИТ-сфере

Когда 99.95% % решений используют уже давно «американский» Linux, и прочие решения от Apache Software Foundation, то на какую аудиторию ориентирована фраза «технологический задел» и «уровень независимости»? Или это задел уровня «скачали Windows Wasyan repack with Babushkin antivirus» ?

Страница 173
Тем не менее, из-за невозможности  быстро развивать собственные решения,  Россия рискует оказаться в зависимости  от поставок из «дружественных» стран,  прежде всего — Китая, особенно в сферах, где китайцы имеют конкурентные преимущества: производство электроники и аппаратного обеспечения, 5G, телекоммуникации и ИИ. Создание конкурентоспособных решений на базе собственной микроэлектроники может стать сложной задачей, поскольку быстрое наращивание производственных мощностей в этой области требует больших инвестиций и времени

Какое «наращивание», если нет ни «своих» зданий, ни «своих» станков, ни «своих» расходных материалов ? Китай может в любой момент остановить все «типа импортозамещение», просто притормозив поставки любого из пары тысяч расходных материалов, от готовых пластин, до припоя.

Страница 174
Нехватка инвестиций в образование  и науку, вместе с отсутствием конкурентоспособных зарплат и ограниченными возможностями профессионального роста, также грозят оттоком  высококвалифицированных ИТ-специалистов из России.

Только инвестиции грозят? А больше ничего не грозит, нет? Никаких больше преград точно нет? Как там дела у Тимура Измайлова, нет ли каких-то рисков, которые могли бы с ним реализоваться? Или у Ильи Сачкова не случилось вдруг риска?
И точно ли «грозят»? Может, что-то уже случилось? Просто на Хабре запретили про это писать, потому что одни пишут, а другим неприятно?

Страница 176. Влияние .. слабое.

«Типа эксперты», похоже, что в целом не знакомы с современными системами, ограничиваясь знакомством с технологиями на SOHO уровне.
Но, в то же время в замке шефа уже продают изделие «для корпоративного уровня» -
NVIDIA Grace Blackwell NVLink72.
Только в РФ его, с требованиями 120 киловатт и жидкостным охлаждением,  некуда ставить.

Итого

Меня терзает смутное сомнение, что это доклад 2025 года, а не какая-то переработанная студенческая презентация из года, примерно, 2015. Когда только начинался интернет вещей, массовое компьютерное зрение, итд. Потому что по докладу можно играть в Bullshit bingo 2015 technology 4.0

И это подается как экспертный доклад ВШЭ.

PS. На днях состоялся очередной забег в Параолимпиаде, то есть:
Платформа Basis Dynamix заняла первое место в крупнейшем рейтинге российских решений серверной виртуализации, подготовленном CNews.

При этом заявлено:
Полный контроль над дорожной картой развития всех компонентов продукта 

Что, правда в Basis уже контролируют развитие ядра Linux? Точно точно?

Совместимость с операционными системами (10 баллов)

Очень странный пункт, потому что Astra Linux это Debian, RED OS – это как бы не CentOS, Основа - Debian 10, итд. То есть совместимость проверяли с разными версиями Debian и старой Centos.

Поддержка архитектуры NUMA

Что, правда этот функционал теперь поддерживается на уровне окружения ОС, а не на уровне BIOS, ядра и CPU scheduler?

Тут еще что буквально на днях вышло обновление 6.17:
Earlier this year Linux kernel patches were posted for making SMP support unconditional so the kernel is always built for multi-core capabilities. With uniprocessor core environments being extremely rare especially for those that would be using an up-to-date, upstream Linux kernel, dropping non-SMP support would allow simplifying code paths within the kernel. Well, for Linux 6.17 it's finally happening.

Поэтому возникает вопрос, точно есть связь GUI для KVM и NUMA ?

Показать полностью 2
68

Философия PowerShell. Часть 3: Навигация и управление файловой системой. Знакомство с операторами логики и функциями

Дисклеймер. в редакторе пикабу нет редактора кода поэтому картинки и вырвиглазное форматирование. Но на гитхабе лежит полноценная статья. Вы можете почитать тут, а примеры копировать из гитхаб

В предыдущей части мы исследовали конвейеры и абстрактные объекты процессов. Теперь давайте применим наши знания о конвейере и объектах к одной из частых задач пользователя или администратора — работе с файловой системой. В PowerShell эта работа построена на тех же принципах: команды возвращают объекты, которые можно передавать по конвейеру для дальнейшей обработки.


1. Концепция PowerShell Drives (PSDrives)

Прежде чем начать работать с файлами, важно понять концепцию PowerShell-дисков (PSDrives). В отличие от cmd.exe, где диски — это только буквы C:, D: и так далее, в PowerShell "диск" — это абстракция для доступа к любому иерархическому хранилищу данных.

> Get-PSDrive

Результат покажет не только физические диски, но и псевдо-диски:

Эта унификация означает, что вы можете "зайти" в реестр (Set-Location HKLM:) и получить список его ключей той же командой Get-ChildItem, которой получаете список файлов на диске C:. Это невероятно мощная концепция.

Примеры работы с различными провайдерами

  • Хранилище сертификатов (Cert:) Позволяет работать с цифровыми сертификатами так, будто это файлы в папках.

    Задача: Найти все SSL-сертификаты на локальной машине, срок действия которых истекает в ближайшие 30 дней.
    > Set-Location Cert:\LocalMachine\My
    > Get-ChildItem | Where-Object { $_.NotAfter -lt (Get-Date).AddDays(30) } | Select-Object Subject, NotAfter, Thumbprint

Переменные окружения (Env:) Предоставляет доступ к переменным окружения Windows (%PATH%, %windir% и т.д.) как к файлам.

Задача: Получить путь к системной папке Windows и добавить к нему путь к System32.

Получаем значение переменной windir:
> $windowsPath = (Get-Item Env:windir).Value
Собираем полный путь
> $system32Path = Join-Path -Path $windowsPath -ChildPath "System32"
> Write-Host $system32Path

Реестр Windows (HKCU: и HKLM:) Представьте, что реестр — это просто еще одна файловая система. Ветки — это папки, а параметры — свойства этих папок.

Задача: Узнать полное название установленной версии Windows из реестра.
Переходим в нужную ветку реестра:
> Set-Location "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
Получаем свойство (параметр реестра) с именем "ProductName"
> Get-ItemProperty -Path . -Name "ProductName"

Переменные сессии (Variable:) Позволяет управлять всеми переменными ($myVar, $PROFILE, $Error и т.д.), определенными в текущей сессии.

Задача: Найти все переменные, связанные с версией PowerShell ($PSVersionTable, $PSHOME и др.).
Находим все переменные, начинающиеся с "PS":
> Get-ChildItem Variable:PS*

Получаем значение конкретной переменной:
> Get-Variable -Name "PSVersionTable"

2. Навигация и анализ

Основы навигации
- Узнать, где мы находимся (возвращает объект PathInfo):
> Get-Location # Псевдонимы: gl, pwd

- Переход в корень диска C:
> Set-Location C:\ # Псевдонимы: sl, cd

- Переход в домашнюю папку текущего пользователя:
> Set-Location ~

Показать содержимое текущей папки (возвращает коллекцию объектов):
> Get-ChildItem # Псевдонимы: gci, ls, dir

- Рекурсивный поиск. Найти файл hosts в системе, игнорируя ошибки "Доступ запрещен":
> Get-ChildItem C:\ -Filter "hosts" -Recurse -ErrorAction SilentlyContinue

Ключ -Recurse (Рекурсивно): Заставляет командлет работать не только с указанным элементом, но и со всем его содержимым.

Ключ -ErrorAction SilentlyContinue: Инструкция игнорировать ошибки и продолжать работу молча.

Анализ дискового пространства

Классический пример мощи конвейера: найти, отсортировать, отформатировать и выбрать.


Подсказка как вводить длинные команды.

PowerShell позволяет разбивать их на несколько строк для удобства чтения.

  • После оператора конвейера (|): Это самый частый и удобный способ. Просто нажмите Enter после символа |. PowerShell увидит, что команда не завершена, и будет ждать продолжения на следующей строке.

  • В любом другом месте: Используйте символ обратной кавычки (backtick) ` в конце строки, а затем нажмите Enter. Этот символ говорит PowerShell: "Команда продолжится на следующей строке".

  • В редакторах (ISE, VS Code): Сочетание клавиш Shift+Enter обычно автоматически вставляет перенос строки, не запуская команду.

Фильтрация содержимого и операторы логики

- Найти все .exe файлы. Параметр -Filter работает очень быстро:
> Get-ChildItem C:\Windows -Filter "*.exe"

Get-ChildItem возвращает коллекцию объектов. Мы можем передать ее по конвейеру в Where-Object для дальнейшей фильтрации.

> Get-ChildItem C:\Windows | Where-Object { $_.PSIsContainer -eq $false }

Эта команда знакомит нас с одним из фундаментальных понятий в скриптах PowerShell: операторами сравнения.

Операторы сравнения и логики

Это специальные ключи для сравнения значений. Они всегда начинаются с дефиса (-) и являются основой для фильтрации данных в Where-Object и построения логики в if.

Тема операторов логики - очень обширная и я ей посвящу отдельную часть (или даже две). А пока вооружившись этими операторами, мы можем фильтровать, сортировать и выбирать нужные нам файлы и папки, используя всю мощь объектного конвейера.

Примеры использования в файловой системе

  • Найти файл по точному имени (с учетом регистра):

    > Get-ChildItem C:\Windows\System32 -Recurse | Where-Object { $_.Name -eq "kernel32.dll" }

  • Найти все файлы, начинающиеся с "host", но не являющиеся папками:

    > Get-ChildItem C:\Windows\System32\drivers\etc | Where-Object { ($_.Name -like "host*") -and (-not $_.PSIsContainer) }

  • Найти все файлы журналов (.log), размер которых превышает 50 мегабайт:

    > Get-ChildItem C:\Windows\Logs -Filter "*.log" -Recurse | Where-Object { $_.Length -gt 50MB }

  • Найти все временные файлы (.tmp) и файлы бэкапов (.bak) для очистки: Оператор -in здесь гораздо элегантнее, чем несколько условий с -or.

    > $extensionsToDelete = ".tmp", ".bak", ".old" Get-ChildItem C:\Temp -Recurse | Where-Object { > $_.Extension -in $extensionsToDelete }

  • Найти все файлы Word (.docx), созданные за последнюю неделю:

    > $oneWeekAgo = (Get-Date).AddDays(-7) Get-ChildItem C:\Users\MyUser\Documents -Filter "*.docx" -Recurse | Where-Object { $_.CreationTime -ge $oneWeekAgo }

  • Найти пустые файлы (размером 0 байт), которые не являются папками:

    > Get-ChildItem C:\Downloads -Recurse | Where-Object { ($_.Length -eq 0) -and (-not $_.PSIsContainer) }

  • Найти все исполняемые файлы (.exe), которые были изменены в этом году, но НЕ в этом месяце. Этот сложный пример демонстрирует мощь комбинирования операторов.

    > Get-ChildItem C:\Program Files -Filter "*.exe" -Recurse |
    Where-Object {
    ($_.LastWriteTime.Year -eq (Get-Date).Year) -and ($_.LastWriteTime.Month -ne (Get-Date).Month)
    }

Примечание: скобки () вокруг каждого условия используются для группировки и улучшения читаемости, особенно в сложных случаях.

Будьте внимательны с рекурсией:

  • Если очень много файлов/папок — -Recurse может рекурсивно заходить в десятки тысяч элементов.

  • Символические ссылки / циклические ссылки — могут вызывать бесконечную рекурсию.

  • Файлы без прав доступа — могут блокировать выполнение.

4. Создание, управление и безопасное удаление

Создание, копирование и перемещение:


> New-Item -Path "C:\Temp\MyFolder" -ItemType Directory
> Add-Content -Path "C:\Temp\MyFolder\MyFile.txt" -Value "Первая строка"
> Copy-Item -Path "C:\Temp\MyFolder" -Destination "C:\Temp\MyFolder_Copy" -Recurse

Безопасное удаление

Remove-Item — потенциально опасный командлет, поэтому в PowerShell есть встроенные механизмы защиты. Ключ -WhatIf (Что если?): Ваш лучший друг. Он не выполняет команду, а лишь выводит в консоль сообщение о том, что бы произошло.

> Remove-Item C:\Temp\MyFolder -Recurse -Force -WhatIf

Только убедившись, что все верно, убираем -WhatIf и ВЫПОЛНЯЕМ команду
> Remove-Item C:\Temp\MyFolder -Recurse -Force


Введение в функции

Когда одна строка кода превращается в сложный набор команд, который вы хотите использовать снова и снова, наступает время для создания функций.

Как использовать и сохранять функции

Существует три основных способа сделать ваши функции доступными:

Способ 1: Временный (для тестов) Вы можете набрать в консопли или просто скопировать и вставить весь код функции в консоль PowerShell. Функция будет доступна до закрытия этого окна.

Способ 2: Постоянный, но ручной (через .ps1 файл) Это самый распространенный способ для организации и обмена инструментами. Вы сохраняете функцию в файл .ps1 и загружаете ее в сессию, когда она вам нужна.

Способ 3: Автоматический (через профиль PowerShell) Это самый мощный способ для ваших личных, часто используемых инструментов.

Что такое профиль PowerShell? Это специальный скрипт .ps1, который PowerShell автоматически запускает каждый раз при старте. Все, что вы поместите в этот файл — псевдонимы, переменные и, конечно, функции — будет доступно в каждой вашей сессии по умолчанию.

Пример 1: Поиск дубликатов файлов

Давайте пройдем все шаги на примере функции Find-DuplicateFiles.

Шаг 1: Определяем код функции

Шаг 2 (Вариант А): Сохраняем в отдельный файл для ручной загрузки

Сохраняем
> Set-Content -Path ".\Find-DuplicateFiles.ps1" -Value $functionCode
Загружаем
> . .\Find-DuplicateFiles.ps1

Dot Sourcing (. .\Find-DuplicateFiles.ps1): Эта специальная команда выполняет скрипт в текущем контексте, делая все его функции и переменные доступными в вашей консоли.

Вызываем:
> Find-DuplicateFiles -Path "C:\Users\$env:USERNAME\Downloads"

  1. Шаг 2 (Вариант Б): Добавляем в профиль для автоматической загрузки Сделаем эту функцию доступной всегда.

    Что такое профиль PowerShell? Это специальный скрипт .ps1, который PowerShell автоматически запускает каждый раз при старте. Все, что вы поместите в этот файл — псевдонимы, переменные и функции — будет доступно в каждой вашей сессии по умолчанию.

  2. Находим путь к файлу профиля. PowerShell хранит его в переменной $PROFILE.

    1. > $PROFILE

    Создаем файл профиля, если он не существует:

    > if (-not (Test-Path $PROFILE)) { New-Item -Path $PROFILE -Type File -Force }

  3. Добавляем код нашей функции в конец файла профиля.

    Add-Content -Path $PROFILE -Value $functionCode

  4. Перезапустите PowerShell (или выполните . $PROFILE), и теперь ваша команда Find-DuplicateFiles будет доступна всегда, как и Get-ChildItem.

Пример 2: Создание ZIP-архива с резервной копией

Код для файла Backup-FolderToZip.ps1:

Детальный разбор функций я сделаю следующих частях.


Справочник командлетов для работы с файловой системой

1. Основные командлеты

Нужно прочитать содержимое текстового файла? Используйте Get-Content. Нужно полностью перезаписать файл новым содержимым? Используйте Set-Content. Нужно добавить строчку в лог-файл, не стирая старые данные? Используйте Add-Content. Нужно проверить, существует ли файл перед записью? Используйте Test-Path.

2. Специализированные командлеты для продвинутых задач

Когда базовых командлетов недостаточно, PowerShell предлагает более специализированные инструменты. Они не дублируют базовые, а расширяют ваши возможности.

  • Работа с путями (Path)

    • Join-Path: Безопасно объединяет части пути, автоматически вставляя \.

    • Split-Path: Разбивает путь на части (папка, имя файла, расширение).

    • Resolve-Path: Преобразует относительный путь (например, . или ..\files) в полный, абсолютный.

  • Работа со свойствами и содержимым (Item Properties and Content)

    • Get-ItemProperty: Получает свойства конкретного файла (например, IsReadOnly, CreationTime).

    • Set-ItemProperty: Изменяет свойства файла или папки.

    • Clear-Content: Удаляет всё содержимое из файла, но оставляет сам файл пустым.

  • Продвинутая навигация (Location Stack)

    • Push-Location: "Запоминает" текущую директорию и переходит в новую.

    • Pop-Location: Возвращается в директорию, которую "запомнил" Push-Location.

  • Управление правами доступа (ACL)

    • Get-Acl: Получает список прав доступа (ACL) для файла или папки.

    • Set-Acl: Устанавливает права доступа для файла или папки (сложная операция).

Нужно изменить атрибут файла, например, сделать его «только для чтения»? Используйте Set-ItemProperty. Нужно полностью очистить лог-файл, не удаляя его? Используйте Clear-Content. Нужно временно перейти в другую папку в скрипте, а потом гарантированно вернуться назад? Используйте Push-Location и Pop-Location. Нужно узнать, кто имеет права на доступ к папке? Используйте Get-Acl.

В следующей части мы узнаем, как работать с другими хранилищами данных, такими как реестр Windows, используя те же самые подходы, углубимся в понятие функций, рассмотрим операторы логики и научимся интерактивно взаимодействовать с оболочкой

Философия PowerShell на github:

История и первый командлет

Часть 2: Конвейер (Pipeline), переменные, Get-Member, файл .ps1 и экспорт результатов. Исходники ко второй части:
system_monitor.ps1

Часть 3: Навигация и управление файловой системой.
Исходники к третьей части:
Find-DuplicateFiles.ps1
Backup-FolderToZip.ps1

Полезно? Подпишись.
Понравилось — ставь «+»
Удачи! 🚀

UPD:

Вышла четвертая часть Философия PowerShell. Часть 4. Интерактивная работа: Out-ConsoleGridView

Показать полностью 20
48

Переход на Proxmox (Proxmox GmbH, Vienna, Austria) с Hyper-V by Microsoft и VMware by Broadcom

Переход на Proxmox (Proxmox GmbH, Vienna, Austria) с Hyper-V by Microsoft и VMware by Broadcom. Часть первая из многих.

Для лиги лени: общеизвестное.

В связи с событиями 2023 года, точнее закрытием сделки по покупке VMware в ноябре 2023 года и переходу на новую (дорогую и избыточную) модель лицензирования, мой текущий работодатель посчитал доходы-расходы, и решил – едем на что-то еще.
Выбор был не так широк.
Во первых, очень хотелось сохранить модель «маленького гиперскейлера» - то есть, держать диски на серверах.

Для тех, кто не очень понимает, в чем проблема.

Если у вас один сервер, то вы можете застраховаться от отказа одного, ну двух дисков, отказа одного блока питания, отказа одного порта или одного SFP модуля сетевой карты (если их всего два), одного порта FC (если их всего два), или и единичной ошибки памяти, которую исправит ECC. И то, нет гарантий что исправит, потому что некоторые базы очень грустят даже при корректируемой одиночной ошибке.
Любой сбой по процессору, RAID контроллеру (если он отдельной картой), материнской платы, единичной сетевой платы или отказ всей стойки по питанию, и все, получаем отказ в обслуживании.

Решений несколько.
Решение первое. Держать данные на отдельной системе хранения данных (СХД), причем на нормально резервированной – два контроллера, по 2-4 порта на каждом контроллере, а еще лучше две СХД, собранные в территориально разнесенный кластер.
Но это достаточно дорого в разовой покупке, и требует кое-каких прочих движений, начиная от поиска на рынке вменяемых сетевых инженеров. Для РФ это нерешаемая задача, у нас (вне РФ) еще так-сяк, хотя тоже с вопросами, дешевые индусики это клиника.
По физическому месту и емкости проблем нет – даже младшие системы хранения данных позволяют поставить 24 – 36 SSD NVME диска на систему с 2 (двумя) контроллерами, и дальше вопросы останутся только к вашей сети. 100G карты и порты на коммутаторе 100G стали дешевые, можно смело ставить.
HPE Mellanox StoreFabric SN2100M 100GbE 8QSFP28 Switch стоит меньше 2000$.
36 дисков по 30 терабайт – это петабайт, причем петабайт без учета встроенной, и нормально работающей дедупликации и компрессии.

Решение второе. Хранить данные на локальных дисках тех же серверов, где выполняется виртуализация.
Это Storage space direct, vSAN,  и, с оговорками, Nutanix и Linstor.
К первым двум нет вопросов по настройке, производительности, спискам совместимого оборудования, программе обучения и кадрам.
К Nutanix есть вопросы по наличию кадров на открытом рынке. Не знаю как в РФ, а в мире эта система вспыхнула, работает, но специалисты не так часты.
К Linstor есть вопросы по совместной работе на нагруженной системе, но про это позже.

Решение третье, это обеспечение отказоустойчивости средствами самого приложения. Для баз данных это отлично делает Oracle RAC, Microsoft SQL, Tibero. Так себе, но сойдет – PostgreSQL,MySQL и все решения вокруг них и их форков. Veritas Infoscale Availabilty и Red Hat Cluster Suite не смотрел.

Решение четвертое – это програмно определяемые системы хранения, как Ceph и подобные.
Проблем с ними полно, но основных две:
Невозможность держать одновременно нагрузку виртуализации и нагрузку хранения на сколько-то нагруженной системе.
Плохая производительность – на том же железе Microsoft и Broadcom «из коробки» дадут в 2-3 раза больше скорости (IOPS), и быстрее запустятся, и без проблем с настройками.
Да, есть лимиты - Storage Spaces Direct сейчас это максимум 4 петабайта на кластер, и 400 терабайт на хост, vSAN Max – 360 терабайт на хост и 8 петабайт на кластер.

5-10 лет назад, если у вас была задача постройки «медленного, но объемного хранилища петабайт на 10-20», то дешевого выбора можно сказать и не было. Сейчас скорости и объемы выросли, цены на SSD упали, поэтому вернулся вопрос что выгоднее – купить систему хранения данных и один раз заплатить за покупку, гарантию, пуско-наладку и сопровождение, или держать штат дорогих и редких специалистов. При оценке совокупной стоимости владения за три года все не так очевидно.
Неочевидная в русскоязычном (да и не только, кроилово не имеет национальности) проблема в том, что последние лет .. 25, идет пропаганда «Linux и любые решения вокруг него дешевле и лучше». Ну ..
BundesTux – Германия, 2001 – 2002. Порекламировали и все.
LiMux – переезд администрации Мюнхена на Linux в 2004 году. Переезд обошелся в 43 миллиона евро, в 2017 переехали обратно на Windows.
Open-Source-Software in öffentlichen Einrichtungen – постоянно идущее движение «давайте переедем».
GendBuntu тоже как-то живет.
В России движение «давайте Linux» началось, в том числе, с подачи представительство IBM в России и его Центра компетенции Linux в 2004 году. Цитата:

Своего апогея идея использования в школах свободного ПО достигла осенью 2007 г., когда Федеральным агентством по образованию был проведен открытый конкурс по выбору подрядчика на разработку и пилотное внедрение пакета свободного программного обеспечения для школ (Школьного Линукса), победителем которого стала группа компаний Армада.

Теория теорией, а практика практикой. Рыночек порешал, и СПО живет там, где живет.
Ничего удивительного –
1) На западе сменилось поколение времен молодого Столлмана,
2) Бесплатная разработка чего-то сложного оказалась не нужна работникам,
3) если «вроде как бесплатный продукт + кадры + железо плюс поддержка» обходятся дороже, чем «платный продукт + кадры + железо + поддержка», то зачем он нужен, такой «бесплатный»?

Отсюда возникает проблема «не говорить про слона в комнате».
С такими вводными коллектив и я и начали проработку идеи «в Бристоль опенсорс, друзья»

Документация.

С базовыми вещами проблем нет, документация в открытом доступе на http://pve.proxmox.com/wiki/

Recommended Hardware: в наличии в очень усеченном виде. Но, есть большой плюс, прямо там и написано:
For Ceph or ZFS additional memory is required, approximately 1 GB memory for every TB used storage.

Проблемы начинаются чуть дальше.
В ESXi ты можешь без проблем включить пересылку логов на внешний syslog в две кнопки. 
В Hyper-v ты можешь сделать хоть пересылку логов, хоть указать размещение логов на другом диске.

В Proxmox ? Цитата:
For pveproxy, taking a look at the source, the log file is hard-coded in line 106 to be written to /var/log/pveproxy/access.log
тред
тред на реддите.

Деление диска.
Аналогично, в ESXi у тебя есть резерв в 138 гигов, и дальше делай с диском что хочешь.
В Proxmox? Не описано, и с разделами на выходе какая-то фигня. Посмотреть я, конечно, могу, но хотелось бы очевидные вещи видеть в документации, да и в мастере установки не помешает.

Сети.

Тот же уровень проблем. Нет, сами сети описаны, но управление ими или недостаточно или избыточно. Например, раздел Linux Bond описывает сценарии:
Round-robin
Active-backup
XOR
Broadcast
IEEE 802.3ad Dynamic link aggregation
Adaptive transmit load balancing
Adaptive load balancing

Режим Round-robin. Ок, случайная балансировка , LB и FT в наличии. Никаких указаний на настройку коммутатора, что хорошо.
Active-backup. Сомнительно, но окей.
XOR. Тоже ок.
LACP. Чем плох – тем, что требует настройки со стороны коммутатора и сложен в отладке при плавающих проблемах.
Adaptive transmit load balancing  и Adaptive load balancing. Все перечисленные там действия вызывают вопрос «зачем».
Рекомендованным является LACP, что довольно странно для 2025 года, когда в Hyper-V и ESXi давно используется простой и понятный Switch Embedded Teaming (SET) или active-active конфигурация.  То есть Linux Bridge как виртуальное устройство поддерживает режимы балансировки, но почему-то тут вот так.
Почему-то не описан аналог режима active-passive для ESXi, когда первая сетевая карта активна в первом коммутаторе, вторая во втором, но в Proxmox аналог сущности Vmkernel еще надо поискать, чтобы такая настройка заработала

Есть SDN - Software-Defined Network, но он какой-то избыточный, чтоли.

Литература.

Storage Spaces Direct hardware requirements in Windows Server
vSAN Max
Исследование российского рынка СПО
Changing the default size of the ESX-OSData volume in ESXi 7.0
Расширение корневого раздела (LVM) в Proxmox
Network Configuration
Software-Defined Network 1.
Software-Defined Network 2
Linux Bridge
Performance Best Practices for VMware vSphere 8.0
Перенос (миграция) виртуальных машин с VMware ESXi на Proxmox
Run Hyper-V in a Virtual Machine with Nested Virtualization

В следующих частях:

Смежные сервисы
Диски локальные и не локальные.

PS.
Рассматривался  переход на какой-то вариант Openstack и Open Nebula. Оба признаны избыточно сложными  на данном этапе. Не в смысле «сложно развернуть», с этим проблем нет. В эксплуатации опыта не так много.

Показать полностью
15

Кадры, прогнозы и итоги. Теперь для ИТ на 08-2025

Для ЛЛ: ничего нового. Взлом МТС, СДЭК, теперь Аэрофлота учит только одному: безответственность и простои не наказываются. Кадры не нужны.

Вместо предисловия

26.04.2018 Управление демографическими сдвигами станет одной из тем для дискуссий на ПМЭФ-2018. Согласно нашим расчетам, численность трудоспособного населения России, в соответствии с прогнозами, должна сократиться со 100 млн человек в 2015 году до 89 млн человек к 2030 году
Форбс: Редкие кадры: экономику России тормозит дефицит трудоспособного населения

27.04.2022 Позитивную новость представил Росстат: в России стало больше граждан трудоспособного возраста. По данным на 1 января 2022 года, их насчитывалось 83,2 млн человек. РГ

15.06.2025 По данным на первый квартал 2025 года, численность работников в российских организациях достигла 43,6 миллиона человек, сообщает TAdviser.
Институт статистических исследований и экономики знаний НИУ ВШЭ

30.07.2025 В 2025 году в России 45 тысяч 428 граждан получали заработную плату, размеры которой превышали миллион рублей.
При этом:
зарплату до двух миллионов рублей получали 34 399 человек;
от двух до трех — 5 728;
более трех — 5 301.
Стало известно количество россиян с зарплатой от миллиона рублей в месяц

Очень мне интересно, чего позитивного в новости «планировали 89 миллионов к 2030, получили 83.2 миллиона к 2022». И это на апрель 2022, еще без учета убыли трудоспособного населения в сторону, которую нельзя называть, и эмиграции активного трудоспособного населения.

Но, к теме. Найм в ИТ в РФ, июль 2025.

Как я уже писал, у коллег из РФ и у меня есть и фейковые резюме, и самостоятельный сбор статистики по найму в РФ, и мнение иных коллег, и мнения HR. Потому что рынок всегда надо оценивать самому.

Как выяснилось из сбора мнений, HR (и наши тоже, ленивые стали – увольнять пора) вообще не ведут количественную оценку рынка. Почему? Им и не надо, и инструментов нет.
Для linkedin, myworkdayjobs и остальных картина та же.
Можно только заказать на 100% высосанный, и хорошо если из пальца, «отчет по статистике все равно кого». Понять по этому отчету, «сколько будет стоить вот такой специалист», конечно, невозможно. Нет в ИТ единой тарифной сетки.
Это не надо и нашему, и не только нашему бизнесу – найм через социальную сеть намного эффективнее, в то время как hh иногда выносит абсолютно некомпетентных людей. Я думал, что «пришел на интервью с мамой, мальчик 30 годиков» - это шутка, но нет.

Статистику портят и фейковые вакансии, с их «знать все, оплата веткой», и фейковые специалисты после кратких курсов «умею docker run».

Отдельно статистику портит и передача поиска от hh к разного рода API и краулерам. То есть функция «поставить сотрудника на мониторинг на hh» была всегда, как только ты открывал резюме, то через пару часов в кадровый отдел прилетало оповещение. Сейчас системы поиска и всех свои внутренние, с кучей пометок  (на hh тоже).
Кто там интересовался, есть ли черные списки в крупном найме – да, есть. Есть как публичные оценки во внутренних системах, так и не публичные.

Отдельная проблема, это наступившее переименование еще одного сегмента рынка.
Devops – был подход, стал системный администратор Linux.
SRE – был подход, стал .. тоже системный администратор Linux, но дороже.
Первый перевод книги от Гугля «Site Reliability Engineering: How Google Runs Production Systems» вышел в 2018, сама книга вышла 2016, всего 10 лет спустя в РФ стали переименовывать отделы и вакансии . Магия слов, все по классике – начать с двигания кроватей, закончить переименованием отдела  сисадминов в департамент SRE. И покрыть все «метриками», за которыми потом не следить.

Остается единственный метод оценки – платежеспособный спрос на реальных специалистов на рынке. Но этот спрос, конечно, нужно строго сегментировать – в каком секторе рынка, про какие деньги речь. И какие кадры ищут.

Снизу на рынок давит масса выпускников краткосрочных курсов. Они и так были не нужны, а сейчас, с массовым внедрением AI – не нужны вообще.

Сбоку рынок добивает мозаичное мнение руководства, и это очень интересная тема.

Надо понимать, что начальство (что в крупном западном бизнесе, что в российском) – не собственник, а назначенный сотрудник. Только в западном бизнесе он нанят, исходя из каких-то задач (и то, судя по Brian Krzanich из Intel, это не дает гарантий), в крупном и среднем российском – скорее, «назначен». Отсюда постоянно возникает дисбаланс, когда у начальства свои задачи и цели, и, если начальство предпочитает что-то делать в своих интересах, а не в интересах фирмы, особенно как их видит сотрудник на линейной, или не на линейной позиции – значит, вы чего-то не знаете, и вам не говорят. Возможно, вам не говорят специально.
В том числе, при вопросе «почему так в статистике» или «почему так в найме», ответ простой. Потому что в таком состоянии дел кто-то заинтересован. Или наоборот, кто-то не заинтересован в изменениях, и в наведении порядка. HR творят фигню, прибыль падает, но для начальника и HR это не имеет значения, если их премия не привязана к KPI по прибыли. Или даже если и привязана, то рост прибыли за счет сокращения расходов, в том числе на персонал, это мировая практика.
Более того, сокращение капитальных расходов и снижение отчислений на амортизацию, или прочий бардак, могут иметь под собой различные обоснования, от «не имеет значения» до «поставлена задача снизить расходы, в том числе и через снижение покупки нового оборудования».
Это все вопрос баланса – насколько можно снизить качество сервиса без последствий для руководителей?

Сколько потеряло Домодедово 26 декабря 2010?
И сколько потеряли сотрудники, принимавшие управленческие решения, приведшие к этому состоянию?

Сколько потеряла МТС от простоя с 17 марта 2024 года?
И сколько потеряли сотрудники, принимавшие управленческие решения, приведшие к этому состоянию? Не те, кто чего-то не сделал, потому что не умел, а те, кто решил нанять тех, кто не умел, но был дешевле?

Сколько потерял СДЭК?
И сколько потеряли сотрудники, принимавшие управленческие решения, приведшие к этому состоянию? Не те, кто чего-то не сделал, потому что не умел, а те, кто решил нанять тех, кто не умел, но был дешевле?

Сколько потерял Аэрофлот?
И сколько потеряли сотрудники, принимавшие управленческие решения, приведшие к этому состоянию? Не те, кто чего-то не сделал, потому что не умел, а те, кто решил нанять тех, кто не умел, но был дешевле?

Если руководство ничего не потеряло, то какая разница, что там потеряли пассажиры, заказчики, "бизнес" итд?  
В новостях в РФ все эти события подаются как последствия непреодолимых внешних сил. Прорвало дамбу – не потому, что на постройке скроили, а потому что очень сильный дождь.
Пилот не смог посадить самолет на ручном управлении – не потому, что его не учили, а виноват пилот.
Злые хакеры взломали (МТС, СДЭК, Аэрофлот, и еще вопрос, сколько не попало в прессу)– не потому, что кроили на сотрудниках, а потому что злые хакеры прокрались, и никто не виноват.

Случаи 1:1 как новогодний коллапс в Домодедово в 2010 – виновата погода, а не конкретные лица.

Получается, что есть только два класса: пролетариат и буржуазия.

Есть только два параметра, по которым можно оценить рынок. Это:
1) Число релевантных приглашений на интервью.
2) Число стадий \ время до найма.

Согласно мнению коллег, да и моему тоже, рынок ИТ в РФ сейчас встал. Реального поиска кандидатов нет, время простоя до найма 2-3 месяца, то есть найма нет. И это для квалифицированных специалистов.

Но и специалистов требуемой квалификации на рынке нет.

Выглядит так, что часть руководителей поверила (а часть сделала вид, что поверила) мнению с разных "больших форумов для больших начальников", и мнению прессы (точнее, заказных статей в прессе), что вот-вот на рынок попадет огромное число квалифицированных ИТ специалистов всех видов.

В то же время, на рынок действительно попала масса специалистов. Но есть нюанс, это масса не просто без ИТ образования или опыта, а масса без понимания, что они делают. Ну да, кнопочки нажимают, контейнер поднялся, все заработало. Логин пароль – админ \пароль, внутри всем можно все.

Вопрос, когда все сломается, даже не стоит – сломается вместе с первым сотрудником, сделавшим что-то «не то». Вся экономия на кадрах уйдет на компенсацию простоя. Но, это если экономию  будут считать честно. Может, наоборот, почти и не потеряли, даже и выиграли.

На это намазывается, таким толстым, жирным слоем, натуральное импортозаместительное .. ну, не масло*, а  точнее два его вида:
Качество импортозаместительного ПО.
Качество поддержки этого ПО, а точнее атаки на цепь поставок.
Это и непрямые атаки, как:

1) 2020 год, взлом SolarWinds Orion.
2) 2021 год, найденная, спустя десяток лет использования везде, уязвимость Log4j также известна как Log4Shell или CVE-2021-44228
3) 2023 год, последний случай из публичных:
Известный производитель чистящих средств Clorox подал в суд на своего IT-провайдера Cognizant после того, как выяснилось, что компания просто передала хакерам, выдававшим себя за сотрудников, доступ к корпоративной сети. Согласно отчету NBC News, этот инцидент позволил хакерской группе Scattered Spider, специализирующейся на атаках на сервисные службы компаний, заразить системы Clorox ransomware-вирусом в августе 2023 года. По данным иска, этот провал в IT-поддержке нанес Clorox ущерб и убытки на сумму около 380 миллионов долларов (~30,4 млрд рублей). Rutab.net
4) 2024 год, атака на xz/liblzma

И прямые атаки. Судя по опросу оставшихся в РФ коллег, в российском бизнесе забыт, как не бывший, результат EternalBlue \ Linux SambaCry \ CVE-2017-7494.
Точно так же, как забыт Conficker, (Downup, Downadup , Kido).

Можно считать, что завершилась сегментация рынка ИТ в РФ на:

Мелкий бизнес: который отлично себя чувствует на аутсорсе. 90% времени техника работает нормально и без постоянного присутствия специалиста, выдергивать и включать обратно хоть кассу, хоть карточный терминал, уже все научились. Зарплаты там низкие, квалификация соответствующая.

Средний бизнес: не заинтересованный в каких-то развитых технологиях. Я удивился, когда посмотрел на цифры производительности современных consumer SSD NVME – да, на нагрузке 24x7 они умрут, но на нагрузке «иногда днем» – выдают вполне достойные цифры. Enterprise SSD NVME опять подешевели. Квалификация в этом секторе разная, зарплаты тоже не высоки.

И, наконец, крупный бизнес. Найм туда остановлен организационно, обсуждать причины остановки найма нет смысла.

Найм в РФ стоит, зато те, кто уехал или работает на аутсорсе не из РФ, не то, чтоб в шоколаде (все же значимый процент бизнеса крутился через РФ), но не грустят.

Прогнозы

Ничего ставить не буду, разумеется, но бабка Ванга внутри меня говорит, что для РФ ИТ инфраструктуры в целом, включая сюда железо, сервисы, разработку – достигнут какой-то предел. Или рубеж. Или барьер. Потому что можно сколько угодно игнорировать проблему качества кадров, но она уже тут.

Но.

Проблемы с кадрами в авиастроении и в эксплуатации обсуждают, но не решают.
Проблемы с кадрами где угодно, начиная от врачей, и учителей обсуждают, но не решают.
Почему с ИТ кадрами, проблемы с которыми громко обсуждают, будет иначе?

Итого.

Судя по открытым вакансиям, и по реальным зарплатам на рынке, ситуация следующая.

Выпускник курсов, даже с враньем про опыт работы: не нужен. HR такой выпусник курсов пройдет. На техническом интервью завалится, потому что на курсах, ни на каких, не дают реального опыта работы. Дают опыт «как наврать в резюме». В мире, кстати, та же картина.

Начинающий специалист с хоть каким-то опытом, и, что очень важно, соответствующим мировоззрением.

Предлагаемая на рынке Москвы зарплата: от 50..80к до 100к. рублей. Практическая зарплата: 120-150к. разрыв с открытыми вакансиями x1.5 – x2 . Это не значит, что невозможно найти специалиста на 100к. Это значит, что такого специалиста надо полгода доучивать, и его совокупная стоимость составит:
100к (плюс налоги) плюс 25% времени от специалиста с окладом 150к за 6 месяцев, которого назначат «доучивать».
Потом этот доученный специалист через год еще и уйдет на 150к.
То есть, это все те же 1500$, что и 5, и 10, и 15 лет назад, с учетом инфляции по доллару.
Примечание. 1500 USD на 2025 год – это 1000 USD на 2010.
Инфляция за период: 50.42 %, используемый индекс: USCPI31011913 (Bureau of Labor Statistics).

Средний специалист на рынке. Здесь проблема в делении рынков, и определения середины.
HR меряют «середину» как «середину зарплаты по их мнению», но. Эта «середина по их мнению» никак не коррелирует с реальными зарплатами.
И, средняя и медианная зарплаты, это не одно и то же.
HR видят зарплаты, не закрываемые годами, в том числе не закрываемые потому, что там указана заниженная относительно рынка зарплата, читают новости «да сейчас точно 100.000.000.000 сотрудников выйдет на рынок и будет работать за большую честь работать в динамично развивающемся  лидере рынка за еду, выбирают из новостей «приятные», и дальше получают свою зарплату, не выполняя декларируемую бизнес задачу «найм». Если бизнес устраивает такое состояние найма, точнее «если, и когда», бизнес устраивает такое состояние найма и ИТ блока, когда на найм и удержание кадров можно не обращать внимания, то эта ситуация становится стабильной на годы. Растет технический долг, растут дыры, а потом случается Аэрофлот.

Более того, ИТ инфраструктура в целом, это проект с достаточно длительным развитием проблемы с регулированием, и с длительной амортизацией. То есть, нормально настроенная система (любая) предусматривает в себе требуемый бизнесом уровень надежности и скорости, и в ИТ не нужна ежедневная работа по закручиванию некой гайки или доливки смазки в кулер. Поэтому при увольнении даже 100% ИТ штата, системы не откажут (скорее всего не откажут) ни на следующий день, ни через неделю, ни, может, даже через месяц. Это ж какая экономия на кадрах.

Но, к теме.

Средний ИТ специалист на рынке Москвы, без разделения по направлениям и категориям, уже смотрит на западный рынок, и поэтому верхняя граница задрана.
По объявлениям это 100 - 200к, по факту это 250 – 750к.  Повторюсь, верхняя планка задрана потому, что хороший специалист среднего уровня по прежнему ориентируется на рынок Европы, а там МРОТ в районе 4000 евро до налогов, и 3000 евро после налогов. Да, снять квартиру в Лимассоле или Берлине встанет в 1000 евро, но и в Москве сравнимая квартира стоит 60-80 тысяч рублей плюс коммунальные платежи.
Примечание. МРОТ там ниже, но визовый порог плюс практический смысл для нанимающей стороны где-то так и выходит.
Конечно, если у специалиста в Москве есть еще мелкий побочный доход в виде пары квартир «от бабок», то ему западный рынок не интересен. В остальных случаях специалисты склонны сравнивать совокупные доходы, расходы, перспективы, и риски.
Разброс «предлагаемого» и «реального» рынка – в 2-3 раза. Повторюсь, все это идет от бизнеса, которого такое состояние устраивает, по каким-то бизнес-причинам.

Как там сказали на днях?

Женщина с фамилией Кузьминых ответила в комментариях пользователю, который пожаловался, что удаленщики могут потерять работу. «На СВО всем работы хватит», — написала она.
Также она процитировала пост Котюкова и предложила жителям края «радоваться чистому небу и не жужжать».
Источник РБК

Или как до этого:
Видеозаписи дочери Шевцовой заметили в сети в середине мая. На них девушка в агрессивной форме заявляла, что ее мама — мэр и может повлиять на призыв в армию. Одно из видео сопровождалось словами: «Ты что, фраер, попутал? Знаешь, кто моя мама? Мэр. Мы тебя на СВО отправим»./
Источник лентару

Или до того:
«Я вам могу составить меню исходя из тех магазинов, которые я посещаю, со скидками, и вы поймете, что жить можно! Сбалансированное, но диетическое! Вы станете моложе, красивее и стройнее! Макарошки всегда стоят одинаково!» — заявила министр труда.
Источник бизнес онлайн

Вот это мнение людей (и их детей), принимающих кадровые решения, без цензуры и открытым текстом. Кто-то их поставил на должности, с таким мнением и подходом, эти люди не в кабинетах самозародились.

Страннее всего с рынком «сеньоров», «тим лидов» и выше.
Это и в мире, и в РФ, всегда или переходная позиция «к менеджменту», или больше менеджерская.
Поэтому на ней можно выделить две совершенно разных группы.
Группа 1. Технические сеньоры без задач управления, консультанты.
HR в РФ их ищут как «сеньоров», расписывая при этом на них несколько технических задач из не связанных блоков, добавляя управленческие задачи, и добавляя, чтобы точно никого не найти, «наставничество». При этом оклад выставляется на уровне мидл плюс.
Выставляемый оклад: 250-500к рублей, но фактически там минимальный уровень 400-450к, а в итоговом годовом окладе уже имеются KPI, и премия там легко может быть и в 6, и в 9, и в 12 месячных окладов.
Группа 2. Менеджеры с минимальным техническим бекграундом.
После серии про эффективную сову тут уже нечего добавить.

Отдельной жизнью живут вакансии по информационной безопасности. В ней разброс окладов еще выше, особенно там, где эта безопасность нужна, и приносит прибыль.

Повторюсь еще раз.
Проблемы с наймом растут не от HR или hh. Проблемы растут от бизнеса, которого устраивает такое положение дел. На это накладывается откат от 4---- технологического уклада в РФ на уровень 3+++, а местами и на уровень 2++, с соответствующим откатом мотивации и агитации на уровень СССР, с  его «План - закон, выполнение - долг, перевыполнение - честь!» и «это не про зарплату, а про призвание». ИТ это затрагивает ничуть не меньше остального рынка труда.
Надо заметить, эта агитация работает, часть коллектива уже поверила, что «надо работать на хорошее резюме, чтобы HR не ругались на то, что я работал на последнем месте меньше года / трех лет / пяти лет / всю жизнь». Но есть интересная корреляция, когда люди, поверившие в длительность стажа на месте работы, уже не учатся чему-то новому. То есть, на словах они готовы учить английский и немецкий, учить новый стек, новые технологии и подходы, а по факту откладывают это на понедельник, следующий месяц, отпуск, как только так сразу.
Рекорд поставила одна из бывших коллег, которая собиралась пойти учить английский в 2019 году. Потом работа, потом ковид, потом новая работа, а потом вроде уже и не надо. И с остальными знаниями у нее то же самое. Теперь сидит и ноет, что новая работа «не очень», но менять ее не будет, потому что «ну как же я HR в глаза смотреть буду, я же не отработала тут 3\5\10 лет».

PS. На западном рынке, США и Европы, тоже ноют про кадры.
Внешне ноют «похоже», но с другим содержанием. Поэтому без анализа я уже давно не удивляюсь обратному карго-культу, когда в РФ ноют «как же так, их самолеты тоже из навоза, инфа 100%, что они тоже не летают, просто лучше притворяются».

Литература

50 Famous CEOs Who Got Fired From Their Job
5 взломов ИБ-компаний за неделю, в которых фигурировали EDR и средства аутентификации Сайт Алексей Лукацкого "Бизнес без опасности", 2025

SolarWinds урегулировала дело о скандальном взломе пятилетней давности, который затронул тысячи компаний и госслужбы
Время сверить версии: в Linux выявлена изощрённая атака на цепочку поставок
Атаки на цепочки поставок: как уязвимости распространяются через зависимости
SambaCry к нам приходит
https://ru.wikipedia.org/wiki/Карго-культ
Обратный карго-культ (Ведомости)
Human Resource Management in a Recession

*
Встречается Брежнев с советскими учёными.
-Товарищи! В Советском Союзе острая нехватка сливочного масла! Нужно срочно создать ему замену.
-А чего в Советском Союзе много, Леонид Ильич?
-А много у нас только говна.

-Хорошо, будем работать.
Выделили 50 миллионов рублей и установили срок в четыре года. Через два года Брежнев возвращается.
-Ну что, как идёт дело, товарищи учёные?
-Полдела сделано, Леонид Ильич. На хлеб легко мажется, но на вкус пока не очень.

Показать полностью
Отличная работа, все прочитано!