Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр 🔮✨Волшебство, любовь… и шерсть на одежде!
Ищи улики, решай головоломки — и помни: каждый твой шаг меняет ход сюжета.

Мой Любимый Кот

Новеллы, Головоломки, Коты

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
134
hypo69
hypo69
1 месяц назад
Лига Сисадминов
Серия Философия PowerShell

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

Часть 0.

Что было до PowerShell?
В 1981 году вышел MS-DOS 1.0. с командным интерпретатором COMMAND.COM. Для автоматизации задач использовались пакетные файлы (.bat) — простые текстовые файлы с последовательностью консольных команд. Удивительный аскетизм командной строки на фоне POSIX совместимых систем где уже с 1979 года существовала оболочка Борна (sh).

Состояние рынка оболочек на момент выхода MS-DOS 1.0 (август 1981)

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

Что такое sh, csh

  • sh — Bourne Shell, основной скриптовый интерпретатор UNIX с 1977 года.

  • csh — C Shell, улучшенная оболочка с синтаксисом, похожим на C, и удобствами для интерактивной работы.

  • Эти оболочки поддерживали редиректы, пайпы, переменные, функции и условия — всё, что сделало UNIX мощным инструментом автоматизации.


Microsoft ориентировалась на дешёвые 16-битные IBM PC, которые имели мало памяти (обычно 64–256 КБ),не имели многозадачности и были предназначены для домашнего и офисного использования, а не серверов. UNIX был платным, требовал сложной архитектуры и опыта, а бухгалтеры и инженеры, не системные админы, им требовалась быстрая и простая ОС

Интерфейс DOS Вместо сложного sh представлял один файл command.com с скудным набором внутренних команд (dir, copy, del и т.p.) без функций, циклов и модулей.

Были и внешние команды — отдельные исполняемые файлы (.exe или .com). Примеры: FORMAT.COM, XCOPY.EXE, CHKDSK.EXE, EDIT.COM. Сценарии исполнения записывались в текстовый файл с расширением .bat (batch file)

Примеры конфигуарционных файлов:

  • AUTOEXEC.BAT

Философия PowerShell. Части 0,1 Вступление и первый командлет Powershell, Cmd, Администрирование, Windows, Shell, Длиннопост
  • CONFIG.SYS

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

В Майкрософт было понятно, что DOS тупиковая ветвь и они почти сразу начали разрабатывать принциально новое ядро.

Ядро Windows NT(New Technology) впервые появилось с релизом операционной системы:

Windows NT 3.1 — 27 июля 1993 года


  • Разработка началась: в 1988 году под руководством Дейва Катлера (бывшего инженера DEC, создателя VMS) с целью создать полностью новую, защищённую, переносимую и многозадачную ОС, не совместимую с MS-DOS на уровне ядра.

  • NT 3.1 — называлась так, чтобы подчеркнуть совместимость с Windows 3.1 на уровне интерфейса, но была совершенно новой архитектурой.


Что принесло ядро NT:

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

Линейка NT:

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

Ядро NT было хорошим, годным продуктом от Майкрософт, если бы не одно большое «НО!»


Но средствам автоматизации и администрирования не уделялось должного внимание вплоть до 2002 года.

Microsoft использовала совершенно разные подходы, стратегии и инструменты для администрирования. Всё это было разрозненным, часто GUI-ориентированным и не всегда автоматизируемым.


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

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

Инструменты автоматизации

  • VBScript-файлы (*.vbs) для администрирования пользователей, сетей, принтеров и служб. Привет✋ вирус "ILOVEYOU"

  • WMIC — командный интерфейс к WMI (например: wmic process list brief).

  • .cmd скрипты с вызовами net, sc, reg, wmic, и т.д.


Windows Scripting Host (WSH)

  • Впервые появился в Windows 98, активно использовался в Windows 2000 и XP.

  • Позволял выполнять VBScript и JScript-файлы из командной строки:
    > Set objShell = WScript.CreateObject(«WScript.Shell»)
    > objShell.Run «notepad.exe»

HTA (HTML Applications)

Чистое шаманство. Если кратко, то это приложения, написанные на HTML и скриптах (чаще всего VBScript или JScript), которые запускались с полноценным GUI и имели полный доступ к Windows через WSH — без ограничений, как обычные сайты в браузере.


Часть 1.

Только в 2002 году в компании сформулировался проект Monad , который позже вылился в powershell:

Начало разработки: ориентировочно в 2002 году

Публичное анонсирование: 2003 год, как «Monad Shell»

Первые бета-версии: появились к 2005 году

Финальный релиз (PowerShell 1.0): ноябрь 2006 года

Автором и главным архитектором проекта Monad / PowerShell является Джеффри Сновер (Jeffrey Snover)

Сегодня PowerShell Core работает на Windows macOS Linux

Параллельно шла разработка фреймворка .NET и powershell был в нее глубоко интегрирован, в следующих частях я покажу примеры

А теперь — самое главное!


Главное преимущество PowerShell по сравнению с классическими командными оболочками — это то, что он работает с объектами, а не с текстом. Когда вы выполняете команду, она возвращает вам не просто текст, а структурированный объект (или коллекцию объектов), у которого есть четко определенные свойства (Properties) и методы (Methods).

Смотрите, как PowerShell элегантно решает задачу благодаря работе с объектами

Как было: dir и ручной парсинг

В CMD (и в старом COMMAND.COM, и в cmd.exe) команда dir возвращает результат работы как обычный текст. Пример вывода:

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

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

for /f "tokens=5,6" %a in ('dir ^| findstr /R "[0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]"') do @Echo %a %b

  • Это страшно сложно читается, зависит от локали, формата даты, шрифта. И ломается при пробелах в названиях


PowerShell: объекты вместо текста

Простой и читаемый пример:

> Get-ChildItem | Select-Object Name, Length

Результат:

Философия PowerShell. Части 0,1 Вступление и первый командлет Powershell, Cmd, Администрирование, Windows, Shell, Длиннопост
  • Get-ChildItem возвращает массив объектов файлов/папок

  • Select-Object позволяет легко получить нужные свойства


Что на самом деле возвращает Get-ChildItem?

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

> $item = Get-ChildItem -Path .\11.md
> $item | Get-Member

Результат:

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

PowerShell возвращает объекты типа System.IO.FileInfo, у которых есть:

  • Свойства (Name, Length, CreationTime, Extension, …)

  • Методы (Delete(), CopyTo(), MoveTo() и т.д.)

Вы работаете с полноценными объектами, а не со строками.


Синтаксис «Глагол-Существительное»:

PowerShell использует строгий и логичный синтаксис команд:
Глагол-Существительное (Verb-Noun)

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

Существительное

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

Даже если вы не знаете точной команды, вы можете предположить её по смыслу — и почти всегда угадаете.


Командлет Get-Help — ваш главный помощник.

Получим справку о самой справке:
> Get-Help Get-Help

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

Получим базовую справку о команде для работы с процессами:
> Get-Help Get-Process

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

Посмотрим примеры использования этой команды:
> Get-Help Get-Process -Examples

Если файл `help` не найден в системе — получим такое сообщение:

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

Решение:
> Update-Help

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

Для одного языка:
> Update-Help -UICulture en-US

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


`-Examples` это невероятно полезный параметр, который часто дает готовые решения для ваших задач.

  1. Получим максимально подробную информацию о команде:
    > Get-Help Get-Process -Full

    В следующей части: конвеер или цепочка команд (PipeLines)

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

UPD:

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

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

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

А давайте встроим ии в powershell

Показать полностью 17
[моё] Powershell Cmd Администрирование Windows Shell Длиннопост
28
16
hypo69
hypo69
1 месяц назад
Лига Сисадминов
Серия Философия PowerShell

Как проверить и исправить ошибки на жестком диске в Windows: шпаргалка по CHKDSK и PowerShell⁠⁠

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

В этой шпаргалке я покажу два способа контроля состояний дисков: утилиту chkdsk и команды PowerShell.

Часть 1: Утилита CHKDSK

CHKDSK (Check Disk) — это стандартная утилита командной строки, которая проверяет файловую систему тома на наличие логических и физических ошибок.

Как запустить CHKDSK

Для выполнения команд, которые вносят изменения в систему, вам понадобятся права администратора.

  1. Нажмите Win + S или кнопку «Пуск».

  2. Введите cmd или «Командная строка».

  3. В результатах поиска щелкните правой кнопкой мыши по «Командная строка» и выберите «Запустить от имени администратора».

Основные параметры (ключи) CHKDSK

Команда имеет следующий синтаксис: chkdsk [диск:] [параметры]

Часто используемые параметры:

  • chkdsk C: Запускает проверку диска C: в режиме «только для чтения». Утилита сообщит о найденных ошибках, но не будет их исправлять.

  • /f Исправляет ошибки на диске. Если на диске есть открытые файлы (что почти всегда так для системного диска), утилита предложит выполнить проверку при следующей перезагрузке системы. Пример: chkdsk D: /f

  • /r Ищет поврежденные сектора (bad sectors) и пытается восстановить информацию, которую можно прочитать. Этот ключ включает в себя функциональность ключа /f, поэтому использовать их вместе необязательно, хотя и не является ошибкой. Проверка с /r занимает значительно больше времени. Пример: chkdsk D: /r

  • /x Принудительно отключает том перед проверкой, если это необходимо. Все открытые дескрипторы для этого диска станут недействительными. Этот ключ также включает в себя функциональность /f. Пример: chkdsk D: /x

  • /b (только для файловой системы NTFS) Выполняет повторную оценку поврежденных кластеров на диске. Этот ключ является самым полным, так как включает в себя функциональность /r. Пример: chkdsk C: /b

  • /scan (только для NTFS) Запускает онлайн-проверку тома. Это означает, что диск не нужно отключать, и вы можете продолжать работать в системе во время сканирования. Однако для исправления найденных проблем потребуется следующий ключ или перезагрузка. Пример: chkdsk C: /scan

  • /spotfix (только для NTFS) Выполняет точечное, очень быстрое исправление ошибок на томе. Требует отключения диска, как и ключ /f. Пример: chkdsk D: /spotfix

Примеры запуска CHKDSK

  • Быстрая проверка диска D: без исправления:

    chkdsk D:

  • Проверка и исправление ошибок на диске D:

    chkdsk D: /f

  • Полная проверка системного диска C: с поиском поврежденных секторов и их восстановлением:

    chkdsk C: /f /r

    или просто:

    chkdsk C: /r

Что делать, если диск используется?

При попытке запустить проверку с исправлением (/f или /r) для системного диска (обычно C:), вы увидите сообщение:

Невозможно выполнить команду CHKDSK, так как указанный том используется другим процессом. Следует ли выполнить проверку этого тома при следующей перезагрузке системы? (Y/N)

Нажмите клавишу Y, а затем Enter. Проверка будет запланирована и автоматически начнется при следующей перезагрузке компьютера.


Часть 2: Команды PowerShell

PowerShell — это оболочка автоматизации, которая предлагает современные и гибкие команды для управления системой.

Как запустить PowerShell

Как и в случае с командной строкой, вам понадобятся права администратора.

  1. Нажмите Win + S или кнопку «Пуск».

  2. Введите powershell.

  3. В результатах поиска щелкните правой кнопкой мыши по «Windows PowerShell» и выберите «Запустить от имени администратора».

Основная команда: Repair-Volume

В PowerShell для проверки и исправления дисков используется командлет Repair-Volume.

Сначала может быть полезно посмотреть список всех томов в системе с помощью команды:

Get-Volume

Основные параметры Repair-Volume

  • -DriveLetter Указывает букву диска, который нужно проверить.

  • -Scan Сканирует том на наличие ошибок и сообщает о них. Это аналог chkdsk без ключей. Пример: Repair-Volume -DriveLetter D -Scan

  • -SpotFix Выполняет быстрое онлайн-исправление без необходимости отключать том надолго. Аналог chkdsk /spotfix. Пример: Repair-Volume -DriveLetter D -SpotFix

  • -OfflineScanAndFix Выполняет полноценную проверку и исправление диска в автономном режиме. Это самый полный аналог команды chkdsk /f /r. Система попросит перезагрузку, если том используется. Пример: Repair-Volume -DriveLetter C -OfflineScanAndFix

Примеры PowerShell

  • Просканировать диск C: на наличие ошибок (без исправления):

    Repair-Volume -DriveLetter C -Scan

    Вы увидите результат в поле HealthStatus (например, Healthy или Needs-Repair).

  • Выполнить быстрое исправление для диска D:

    Repair-Volume -DriveLetter D -SpotFix

  • Запланировать полную проверку и исправление системного диска C: при следующей перезагрузке:

    Repair-Volume -DriveLetter C -OfflineScanAndFix

    PowerShell, как и chkdsk, уведомит вас о необходимости перезагрузки и запланирует задачу.

Для большинства пользователей результат работы chkdsk C: /r и Repair-Volume -DriveLetter C -OfflineScanAndFix будет одинаковым. Выбор зависит от ваших предпочтений и задач.

Важное замечание: Перед любыми серьезными операциями с диском, особенно если вы подозреваете наличие физических проблем, всегда создавайте резервную копию важных данных! Инструменты могут исправить ошибки, но не могут гарантировать 100% сохранность информации на поврежденном носителе.


У меня также есть шпаргалка по diskpart

подпишись, если интересно

Удачи!

UPD:

Продолжение поста с подробным описанием использования командлетов PowerShell

Серия Философия PowerShell

Показать полностью
[моё] Гайд Инструкция Chkdsk Powershell Windows Cmd Длиннопост
8
2
alexskr
alexskr
8 месяцев назад

Скрипт на смену темной/светлой темы windows⁠⁠

Кто еще устал менять цвета темы виндовс через меню персонализации и тратить на это три клика? Теперь вы можете сделать это запустив скрипт всего в два клика! А сэкономленный клик можете потратить на что-нибудь более ценное или приберечь на будущее 👍

light.cmd

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 1 -Type Dword -Force; New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 1 -Type Dword -Force

dark.cmd

powershell.exe New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 0 -Type Dword -Force; New-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 0 -Type Dword -Force

[моё] Cmd Скрипт Windows Темная тема Текст
4
1
TECHLiveHACK
TECHLiveHACK
1 год назад

Используем встроенные средства Windows для проверки и восстановления системных файлов⁠⁠

Используем встроенные средства Windows для проверки и восстановления системных файлов Windows, Программа, Гайд, Технологии, Cmd, Командная строка, Восстановление, Telegram (ссылка)

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

Используйте ее, если некоторые функции Windows не работают или система неожиданно завершает работу. Чтобы сканировать системные файлы, в строке поиска введите «Командная строка» и откройте ее от имени Администратора.

Введите в терминале команду «sfc /scannow». Система проверит все защищенные системные файлы и заменит поврежденные файлы их кэшированной копией, расположенной в сжатой папке по адресу %WinDir%\System32\dllcache.

Не закрывайте это окно командной строки, пока проверка не завершится на 100%. Результаты проверки будут показаны после завершения данного процесса. Если нарушения будут обнаружены, утилита попробует их восстановить.

Источник: https://t.me/TechLiveHack/304

Показать полностью
Windows Программа Гайд Технологии Cmd Командная строка Восстановление Telegram (ссылка)
4
Аноним
Аноним
2 года назад

Продолжение поста «Запуск батника при включении сервера печати»⁠⁠1

Если конкретнее, то задача была дана такая: написать батник, удаляющий 2 текстовых файла. Добавить скрипт в автозагрузку при включении сервера печати чеков "тут адрес сервера".

Windows Cmd Батник Помощь Текст Ответ на пост
1
2
Аноним
Аноним
2 года назад

Запуск батника при включении сервера печати⁠⁠1

Всем привет, надеюсь вы поможете тупому нубу. Я только познаю азы написания батников. Задача: удалять определенные файлы при включении сервера печати. С удалением все понятно. Проблема с условием, что именно при запуске сервера печати должны удаляться файлы. Буду очень благодарен, если подскажете, как это можно реализовать.

Windows Cmd Батник Помощь Текст
8
41
tproger.official
tproger.official
2 года назад
Типичный программист

Хотя бы раз все забывались и писали ls в cmd винды⁠⁠

Хотя бы раз все забывались и писали ls в cmd винды IT юмор, Программирование, IT, Windows, Linux, Cmd, Программист
Показать полностью 1
IT юмор Программирование IT Windows Linux Cmd Программист
19
3
ENerror
ENerror
2 года назад

Как просмотреть пароли от всех Wi-Fi, к которым вы подключались?⁠⁠

Как просмотреть пароли от всех Wi-Fi, к которым вы подключались? Фича, Лайфхак, Баг, Софт, Windows, Компьютер, Wi-Fi, Пароль, Cmd, Командная строка

Как просмотреть пароли от всех Wi-Fi, к которым вы подключались?

Если вы забыли пароль от Wi-Fi соседа, а подключиться ну очень надо, есть отличный лайфхак с консолью Windows. Алгоритм действий такой:

1. Нажмите сочетание «Win+R» и введите команду «cmd», чтобы открыть командную строку.
2. Введите команду «netsh wlan show profiles». На экране вы увидите список всех известных Wi-Fi сетей. Запомните имя нужной вам сети.
3. Затем введите «netsh wlan show profile name=<имя_сети> key=clear». Команда выведет всю известную информацию о данной сети. В поле «Содержимое ключа» будет указан последний пароль, с которым вы подключались к этой сети.

Служба WlanSvc в операционной системе Windows управляет всеми беспроводными соединениями (по Wi-Fi и Bluetooth). То есть, сервис отвечает за поиск, подключение, отключение и другие операции, которые необходимы для работы беспроводных подключений на компьютере.

https://t.me/errorium/49 - Если интересно)

Показать полностью
Фича Лайфхак Баг Софт Windows Компьютер Wi-Fi Пароль Cmd Командная строка
3
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии