Системный Администратор (Сисадмин)
13.9K subscribers
1.7K photos
1.55K videos
87 files
1.73K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
Работа с файлами и папками PowerShell

Перечисление всех файлов и папок в папке

Все элементы можно получить непосредственно в папке с помощью Get-ChildItem. Для отображения скрытых и системных элементов добавьте необязательный параметр Force. Например, эта команда отображает прямое содержимое диска C:PowerShell.
Get-ChildItem -Path C:\ -Force


Команда перечисляет только непосредственно содержащиеся элементы, например команду dir в cmd.exe оболочке UNIX или ls в ней. Чтобы отобразить элементы в вложенной папке, необходимо указать параметр Recurse . Следующая команда выводит список всех элементов на C: диске:
Get-ChildItem -Path C:\ -Force -Recurse


Командлет Get-ChildItem позволяет отфильтровать элементы с помощью параметров Path, Filter, Include и Exclude, но обычно осуществляется лишь фильтрация по имени. Вы можете выполнять сложную фильтрацию на основе других свойств элементов с помощью Where-Object.
Следующая команда находит все исполняемые файлы в папке Program Files, которые были изменены после 1 октября 2005 года, и они не меньше 1 мегабайт или больше 10 мегабайт:
Get-ChildItem -Path $env:ProgramFiles -Recurse -Include *.exe |
Where-Object -FilterScript {
($_.LastWriteTime -gt '2005-10-01') -and ($_.Length -ge 1mb) -and ($_.Length -le 10mb)
}



Копирование файлов и папок

Копирование выполняется с помощью командлета Copy-Item. Следующая команда создает резервную копию скрипта профиля PowerShell:
if (Test-Path -Path $PROFILE) {
Copy-Item -Path $PROFILE -Destination $($PROFILE -replace 'ps1$', 'bak')
}



Команда Test-Path проверка, существует ли скрипт профиля.

Если целевой файл уже существует, то попытка копирования завершается неудачей. Чтобы перезаписать имеющийся целевой файл, используйте параметр Force.
if (Test-Path -Path $PROFILE) {
Copy-Item -Path $PROFILE -Destination $($PROFILE -replace 'ps1$', 'bak') -Force
}



Эта команда работает, даже если целевой объект доступен только для чтения.

Так же выполняется и копирование папок. Эта команда копирует папку C:\temp\test1 в новую папку C:\temp\DeleteMe рекурсивно.
Copy-Item C:\temp\test1 -Recurse C:\temp\DeleteMe


Можно также скопировать избранные элементы. Следующая команда копирует все .txt файлы, содержащиеся в любом месте в C:\dataC:\temp\text:
Copy-Item -Filter *.txt -Path c:\data -Recurse -Destination C:\temp\text
Вы по-прежнему можете выполнять собственные команды, такие как xcopy.exe и robocopy.exe копировать файлы.


Создание файлов и папок

Создание новых элементов работает одинаково для всех поставщиков PowerShell. Если поставщик PowerShell имеет несколько типов элементов, например поставщик FileSystem PowerShell различает каталоги и файлы, необходимо указать тип элемента.

Эта команда создает папку C:\temp\New Folder:
New-Item -Path 'C:\temp\New Folder' -ItemType Directory

Эта команда создает пустой файл C:\temp\New Folder\file.txt.
New-Item -Path 'C:\temp\New Folder\file.txt' -ItemType File


Удаление всех файлов и папок в папке

Удалить вложенные элементы можно с помощью командлета Remove-Item, однако он потребует подтверждения удаления, если элемент сам что-нибудь содержит. Например, если вы попытаелись удалить папку C:\temp\DeleteMe , содержащую другие элементы, PowerShell запрашивает подтверждение перед удалением папки:
Remove-Item -Path C:\temp\DeleteMe

Если вам не нужно запрашивать каждый содержащийся элемент, укажите параметр Recurse :
Remove-Item -Path C:\temp\DeleteMe -Recurse

👉 @sysadminof
👍61
📕Открытый урок о функционале веб-серверов Angie и Nginx для системных администраторов Linux и веб-разработчиков.

На открытом уроке 27 февраля в 19:00 мск мы погрузимся в веб-серверами.

📗В результате вы:
- Узнаете основное назначение форка популярного веб-сервера Nginx;
- Поймете, как появлялся и развивается Angie;
- Определите основные отличия Angie от Nginx и разберетесь в преимуществах перехода с одного веб-сервера на другой.

Спикер Николай Лавлинский — эксперт веб-разработк (15+ лет), опытный преподаватель (10+ лет), занимался техническим руководством и оптимизацией клиентской и серверной производительности веб-приложений в более чем 100 проектах.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cIY5vO

📙 Все участники открытого урока получат скидку на курс "Администрирование Nginx/Angie"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Работа с файлами и папками PowerShell

Сопоставление локальной папки как диска

Отобразить локальную папку можно с помощью команды New-PSDrive. Следующая команда создает локальный диск P:, корневым каталогом которого является локальный каталог Program Files, отображающийся только в сеансе PowerShell:
New-PSDrive -Name P -Root $env:ProgramFiles -PSProvider FileSystem


Чтение текстового файла в массив

Одним из наиболее общих форматов хранения текстовых данных является файл, отдельные строки которого рассматриваются как отдельные элементы. Командлет Get-Content используется для чтения всего файла за один шаг, как показано далее:
Get-Content -Path $PROFILE
# Load modules and change to the PowerShell-Docs repository folder
Import-Module posh-git
Set-Location C:\Git\PowerShell-Docs


Get-Content обрабатывает данные, считанные из файла как массив, с одним элементом на строку содержимого файла. Убедиться в этом можно, проверив свойство Length полученного содержимого:
PS> (Get-Content -Path $PROFILE).Length
3



Эта команда наиболее полезна для получения списков сведений в PowerShell. Например, можно сохранить список имен компьютеров или IP-адресов в файле C:\temp\domainMembers.txtс одним именем в каждой строке файла. Вы можете использовать командлет Get-Content, чтобы извлечь содержимое файла и поместить его в переменную $Computers:
$Computers = Get-Content -Path C:\temp\DomainMembers.txt

Теперь переменная $Computers представляет собой массив, содержащий в каждом элементе имя компьютера.

👉 @sysadminof
👍3
Уроки по Linux

Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)

источник

👉 @sysadminof
👍62🔥1
infosec - это один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал на разные темы:

- Что из себя представляет официально взломанный iPhone от Apple?
- К чему могла привести опечатка в инфраструктуре платёжной системы MasterCard?
- Авторский материал для ИБ специалистов с закрытого хакерского форума XSS;
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.

А еще у нас часто проходят розыгрыши самых актуальных и новых книг для ИБ специалистов. Так что присоединяйся, у нас интересно!
👍1👎1
Media is too big
VIEW IN TELEGRAM
Port Knocking в Mikrotik Firewall Filter

В данном видео мы поговорим про port knocking, что это и как настроить на tcp портах, какие нюансы есть при использовании icmp протокола и чем может помочь данная настройка в работе сетевого инженера.

источник

👉 @sysadminof
👍31
📌Регулярное выражение для поиска и проверки правильных IPv4-адресов

\b(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\b

Разбор регулярного выражения:
• \b – граница слова, чтобы избежать нахождения частей IP-адресов в тексте.
• (25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?) – шаблон для чисел от 0 до 255.
• 25[0-5] — числа от 250 до 255.
• 2[0-4][0-9] — числа от 200 до 249.
• 1?[0-9][0-9]? — числа от 0 до 199 (учитывает 0-9, 10-99, 100-199).
• \. – точка, экранированная \, так как . в регулярных выражениях обозначает любой символ.
• Четыре таких блока, разделенных точками, формируют полный IPv4-адрес.

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

import re

pattern = r"\b(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\b"

test_ips = ["192.168.1.1", "255.255.255.255", "256.100.50.25", "192.168.300.1", "abc.def.ghi.jkl"]

for ip in test_ips:
if re.fullmatch(pattern, ip):
print(f"{ip} - валидный IPv4")
else:
print(f"{ip} - НЕ валидный IPv4")


Этот код проверяет, какие IP-адреса корректны, а какие нет.

Подпишись 👉@devopslib
👍4
👩‍💻 Windows — не просто ОС. Это ваша карьера, зарплата и возможности!

Хотите стать востребованным администратором Windows и управлять IT-инфраструктурой компании как профи?

Обучение на курсе «Администратор Windows» научит вас проектировать инфраструктуру, разворачивать Active Directory, автоматизировать задачи через PowerShell и обеспечивать безопасность IT-системы.

90% корпоративных систем работают на Windows. Компании нуждаются в админах с актуальными знаниями. Без них не бывает стабильной IT-инфраструктуры.

🔥 До 28.02 скидка на все курсы 10%, кроме этого дарим промокод Windows_5 который прибавляет к скидке еще 5% !!!

🎫 Курс можно приобрести в рассрочку

⬇️ Оставьте заявку прямо сейчас и получите скидку на обучение. Это ваш шанс выйти на новый уровень в карьере: https://vk.cc/cIZJp1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣6👍1👎1
Обнаружение вторжений

Поиск руткитов в Linux: chkrootkit
Поиск руткитов в Linux: rkhunter
Обнаруживаем реальный rootkit средствами chkrootkit и rkhunter
Настройка Suricata в режиме IPS средствами NFQ в Linux

источник

👉 @sysadminof
👍5
Было / стало 👍

👉 @sysadminof
👍18🔥4
💣 А ты справишься с тестом по Kubernetes?

🏆 Пройди тест из 15 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Инфраструктурная платформа на основе Kubernetes» от OTUS!

Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод Kuber_5

🎫 Курс можно приобрести в рассрочку

🔴 Пройти тест и забрать скидку: https://vk.cc/cIZMib

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Типы памяти и накопителей

- Основополагающий дуэт: RAM и ROM
- DDR4 и DDR5
- Firmware и BIOS
- SRAM и DRAM
- HDD, SSD, USB Drive, SD Card

👉 @sysadminof
👍12