TGViewer
Social Engineering Social Engineering @social_engineering · 125K subscribers
Post #3582 39.4K
👩‍💻 История создания PowerShell.

• Вчера был опубликован пост, в котором описан очень крутой PowerShell-модуль для Blue Team. Давайте сегодня поговорим об истории создания этого инструмента и его авторе:

• Сразу нужно отметить, что создателем PowerShell является Джеффри Сновер. Для продвижения своего проекта ему пришлось преодолеть много трудностей внутри компании, так как Microsoft была против создания Unix-подобного инструмента и включению его в состав Windows.

• А началось все с 1999 года, когда Бил Гейтс начал беспокоиться о том, что Windows никак не совместима с дата-центрами, хотя он прекрасно понимал, что этом рынке крутятся огромные деньги. Хуже того, руководство Microsoft привыкло жить в старых реалиях, они разбирались в персональных компьютерах, но не понимали серверный рынок. Вот тогда они и нашли Джеффри и пригласили его на работу.

• Цель была следующая: установить Windows NT как реального конкурента для вендоров Unix-систем, таких как Sun, IBM и HP. Теоретически, у Microsoft было стратегическое преимущество благодаря сотрудничеству с Intel, оставалось только выпустить годный софт, и они могли предложить услуги за меньшую цену, чем конкуренты.

• Проблемой ещё были системные интеграторы вроде IBM Professional Services, которые сильно накручивали цены на установку софта от Microsoft. На каждую машину программы надо было ставить вручную через графический интерфейс. А как избавиться от системных интеграторов? Разработать встроенный механизм системной интеграции. В Unix такое было, там клиенты сами настраивали системы и не обращаясь к системным интеграторам. Вот что нужно было Microsoft!

• Джеффри присоединился к отделу Windows Server, чтобы решить эту задачу. Сотрудникам Microsoft было нелегко принять новую логику и думать о дата-цетрах и системном администрировании в Unix-стиле. Сервисы на серверах запускали из командной строки или через удалённый рабочий стол. То есть каждый раз при загрузке Windows кто-то должен был залогиниться туда и ввести команду.

• Единственным средством настройки Windows были Windows Managemet Instrumention (WMI), но пользователи мало их использовали, и Джеффри увидел в этом возможность: создать текстовую консоль для управления всем: настройками пользователя, сетевой конфигурацией, установкой приложений — всё через WMI.

• Если считать по количеству объектов в WMI, то эта консоль должна поддерживать тысячи команд. Интересно, что для разработки пришлось нанимать программистов по контракту, потому что штатные разработчики Microsoft не смогли осилить такую задачу.

• Дедлайн ему поставили через десять недель. Логика была такая, что нужно выпустить хоть какую-то глючную версию программы, а потом исправлять баги. Джеффри оплатил работу контрактным программистам, и они успели реализовать примерно 70 функций (команд). Это было только начало.

• Но затем оказалось, что никакая программа не может выйти без одобрения отдела тестирования. А это очень долгая бюрократическая процедура, они хотели буквально проверить каждую команду. Джеффри не мог допустить такой задержки, поэтому придумал другую процедуру с составлением файла метаданных, который проверяет корректность работы программы, а не проходит по всем функциям. Так вышла первая версия PowerShell с поддержкой 72 команд. Это было практически одновременно с выходом Windows XP на ядре NT.

• Потом оказалось, что в Microsoft есть ещё одна группа, которая разрабатывает консоль. Но они просто взяли K-shell и портировали её. Тогда Джеффри буквально заперся в комнате и собственноручно написал то, что станет первым прототипом PowerShell, это было демо на 10 000 строк кода. Он показал его коллегам из того отдела, впечатлил их, и они стали работать вместе, а Джеффри удалось получить финансирование под проект. Так родился PowerShell (хотя изначально он назывался Monad), а самого Джеффри понизили в должности, потому что отдел PowerShell насчитывал всего несколько человек. Вот такие дела...

➡ https://corecursive.com/building-powershell-with-jeffrey-snover/

S.E. ▪️ infosec.work ▪️ VT
More from @social_engineering
  1. Sep 26, 2026• В этом году талисману Linux исполнилось 30 лет! Идея использовать пингвина принадлежит с…
  2. Sep 25, 2026• База GeoIP для геолокации по IP-адресу превратила в кошмар жизнь женщины в Канзасе - эта…
  3. Sep 24, 2026• PCAPdroid - аналог wireshark для Android с открытым исходным кодом - тулза, которая имит…
  4. Sep 23, 2026• Хочу дополнить пост про Hack The Box и поделиться с вами интересной CTF-платформой - Rin…
  5. Sep 22, 2026• Obtainium - тулза, которая позволяет вам получать Android приложения и поддерживать их в…
  6. Sep 21, 2026• Обратите внимание на сервис с бесплатными лабораторными работами по работе с Nmap. По сс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →