Новая статья Вики "Powershell скрипт опроса сети для поиска нестандартных сетевых каталогов (исключая административные и служебные)"
Иногда требуется провести аудит локальной сети на предмет наличия на компьютерах пользователей и серверах общих сетевых каталогов, не учитывая при этом какие-то служебные и стандартные административные сетевые каталоги. Здесь представлен вариант Powershell-скрипта, который решает данную задачу.
https://wiki.it-kb.ru/powershell/security-audit/powershell-script-for-network-scan-to-find-non-standard-non-administrative-shared-folders-on-computers-and-servers
#PowerShell #PoSH #Network #Сеть #Security #Безопасность #Аудит
Иногда требуется провести аудит локальной сети на предмет наличия на компьютерах пользователей и серверах общих сетевых каталогов, не учитывая при этом какие-то служебные и стандартные административные сетевые каталоги. Здесь представлен вариант Powershell-скрипта, который решает данную задачу.
https://wiki.it-kb.ru/powershell/security-audit/powershell-script-for-network-scan-to-find-non-standard-non-administrative-shared-folders-on-computers-and-servers
#PowerShell #PoSH #Network #Сеть #Security #Безопасность #Аудит
Новая статья Вики "Скрипт тихого отключения бездействующих сессий RDS"
После достижения лимита простоя сессии пользователя Служб удалённых рабочих столов Remote Desktop Services (RDS) в Windows Server система выводит на экран предупреждение о истечении лимита. После чего у пользователя нет выбора, остается только нажать кнопку «ОК», что приводит к сбросу счетчика простоя. В результате сессия пользователя продолжает работать и занимать ресурсы сервера RDS. В RDS на Windows Server 2012 R2 данное сообщение всплывает на весь горизонт экрана, что приводит к стрессовым ситуациям у неподготовленных пользователей.
В качестве альтернативы штатному механизму оповещения в простаивающей сессии можно использовать PowerShell-скрипт, который будет выполнять отключение простаивающих сессий без вывода всплывающего предупреждения.
#PowerShell #Script #WindowsServer #WindowsServer2012R2 #RDS #RemoteDesktopServices
После достижения лимита простоя сессии пользователя Служб удалённых рабочих столов Remote Desktop Services (RDS) в Windows Server система выводит на экран предупреждение о истечении лимита. После чего у пользователя нет выбора, остается только нажать кнопку «ОК», что приводит к сбросу счетчика простоя. В результате сессия пользователя продолжает работать и занимать ресурсы сервера RDS. В RDS на Windows Server 2012 R2 данное сообщение всплывает на весь горизонт экрана, что приводит к стрессовым ситуациям у неподготовленных пользователей.
В качестве альтернативы штатному механизму оповещения в простаивающей сессии можно использовать PowerShell-скрипт, который будет выполнять отключение простаивающих сессий без вывода всплывающего предупреждения.
#PowerShell #Script #WindowsServer #WindowsServer2012R2 #RDS #RemoteDesktopServices
Ранее мы уже писали о том, как использовать PowerShell для сброса сессий в RDS. Далее предлагается вариант для работы в GUI:
👉 How To Log Off Remote Desktop User Sessions In Remote Desktop Services?
#RDS #VDI #PowerShell
👉 How To Log Off Remote Desktop User Sessions In Remote Desktop Services?
#RDS #VDI #PowerShell
Этот маленький скрипт может пригодится в ситуации, когда нужно найти установленное обновление на рабочей станции или сервере, находящимся в домене. Поменяйте название обновления (в данном примере - KB2998527) и начало названий Ваших серверов (в примере - sp).
Скрипт выберет из AD все компьютеры с совпадающим именем и проверит на них обновление.
При отсутствии связи по сети с выбранным сервером скрипт напишет "Не доступен в сети."
При ошибках в получении информации об обновлении скрипт напишет "Ошибка получения информации"
При отсутствии выбранного обновления будет выведено только имя сервера.
Работает при установленном PS for AD
#PowerShell скрипт:
Скрипт выберет из AD все компьютеры с совпадающим именем и проверит на них обновление.
При отсутствии связи по сети с выбранным сервером скрипт напишет "Не доступен в сети."
При ошибках в получении информации об обновлении скрипт напишет "Ошибка получения информации"
При отсутствии выбранного обновления будет выведено только имя сервера.
Работает при установленном PS for AD
#PowerShell скрипт:
$servernames = Get-ADComputer -Filter {name -like '
sp*'} | Select-Object name
foreach ($servername in $servernames)
{
if (Test-Connection $servername.name -Quiet)
{
write-host $servername.name -NoNewline
Try
{
$GetHF = (get-hotfix –computername $servername.name -ErrorAction SilentlyContinue | where {$_.HotFixID -eq "
KB2998527"})
}
Catch {$GetHF = "- Ошибка получения информации."}
write-host $GetHF
}
else
{
Write-Host $servername.name, "Не доступен в сети."
}
}
Запись блога IT-KB.RU
"Установка Remote Server Administration Tools (RSAT) в Windows 10 v1903 в Offline-режиме"
Ранее мы уже писали об особенностях установки пакета Remote Server Administration Tools (RSAT) в Windows 10. Но время идёт и новые релизы Windows 10 вносят новые правила работы с этим пакетом. В этой заметке мы поговорим об особенностях автономной установки RSAT в актуальной версии Windows 10 1903.
👉 Далее...
#FeatureOnDemand, #FOD, #GPO, #GPP, #GroupPolicy, #PowerShell, #RSAT, #UAC, #Windows10, #Windows101903, #WSUS
"Установка Remote Server Administration Tools (RSAT) в Windows 10 v1903 в Offline-режиме"
Ранее мы уже писали об особенностях установки пакета Remote Server Administration Tools (RSAT) в Windows 10. Но время идёт и новые релизы Windows 10 вносят новые правила работы с этим пакетом. В этой заметке мы поговорим об особенностях автономной установки RSAT в актуальной версии Windows 10 1903.
👉 Далее...
#FeatureOnDemand, #FOD, #GPO, #GPP, #GroupPolicy, #PowerShell, #RSAT, #UAC, #Windows10, #Windows101903, #WSUS
Новая запись в блоге IT-KB.RU
"Отключение и завершение простаивающих сеансов на серверах Remote Desktop Session Host в зависимости от дня месяца и членства в доменной группе. Вариант 2: Избавляемся от некорректных значений IdleTime в Get-RDUserSession"
Ранее мы рассматривали пример скриптовой реализации контроля простаивающих пользовательских сеансов на серверах Remote Desktop Session Host (RDSH). В комментариях к этой заметке один из наших постоянных читателей - Солодовников Матвей (aka equinox) отметил то обстоятельство, что при использовании представленного скрипта возникают проблемы с правильностью определения времени простоя сеансов. И связано это с тем, что командлет Get-RDUserSession может возвращать некорректное значение времени простоя IdleTime для активных сессий со статусом STATE_ACTIVE. Наша практика использования скрипта подтвердила наличие этой проблемы, поэтому в данной заметке мы рассмотрим альтернативный вариант скрипта, решающий данный вопрос
👉 Далее...
#PowerShell #RDCB #RDS #RDSH #Re
"Отключение и завершение простаивающих сеансов на серверах Remote Desktop Session Host в зависимости от дня месяца и членства в доменной группе. Вариант 2: Избавляемся от некорректных значений IdleTime в Get-RDUserSession"
Ранее мы рассматривали пример скриптовой реализации контроля простаивающих пользовательских сеансов на серверах Remote Desktop Session Host (RDSH). В комментариях к этой заметке один из наших постоянных читателей - Солодовников Матвей (aka equinox) отметил то обстоятельство, что при использовании представленного скрипта возникают проблемы с правильностью определения времени простоя сеансов. И связано это с тем, что командлет Get-RDUserSession может возвращать некорректное значение времени простоя IdleTime для активных сессий со статусом STATE_ACTIVE. Наша практика использования скрипта подтвердила наличие этой проблемы, поэтому в данной заметке мы рассмотрим альтернативный вариант скрипта, решающий данный вопрос
👉 Далее...
#PowerShell #RDCB #RDS #RDSH #Re
Один мой хороший знакомый собрался с мыслями, потратил уйму времени и опубликовал свои наработки #PowerShell на #GitHub. Надеюсь, они многим пригодятся!
https://rlevchenko.com/2019/09/05/announcing-my-github-repositories/
https://rlevchenko.com/2019/09/05/announcing-my-github-repositories/
UseIT | Roman Levchenko
Announcing my GitHub repositories
Howdy, I decided to share some scripts and configuration files via GitHub. This approach has many advantages – user-friendly code (easy to read, easy to use), you can commit changes via pull …
Простой #PowerShell скрипт для автоматической блокировки в брандмауэре Windows IP адресов, с которых фиксируются попытки подбора паролей через RDP (или длительные RDP атаки).
Далее...
Далее...
Продолжаем серию бесплатных вебинаров для широкого круга ИТ инженеров.
Уже завтра 28 мая с 18:00 до 21:00 пройдет первая онлайн встреча сообщества DGTL Communications Community.
Программа мероптиятия:
- «Дружим ELK и Exchange»
Станислав Булдаков, Райффайзенбанк
Поговорим про настройку выгрузки логов Exchange в Elastic и что с этим можно сделать.
- «Microsoft Endpoint Manager для управления устройствами»
Александр Ванюрихин, Mars
Что MEM может в управлении iOS, Android и Windows 10 устройствами. Какие есть подводные камни и проблемы.
- «Границы применимости PowerShell Desired State Configuration»
Евгений Парфенов, DataLine
Коротко поговорим о технологии, разберем нюансы и определим применимость в современном мире.
👉 Ссылка на регистрацию 👈
#Вебинар #Microsoft #Exchange #PowerShell #Mobile
Уже завтра 28 мая с 18:00 до 21:00 пройдет первая онлайн встреча сообщества DGTL Communications Community.
Программа мероптиятия:
- «Дружим ELK и Exchange»
Станислав Булдаков, Райффайзенбанк
Поговорим про настройку выгрузки логов Exchange в Elastic и что с этим можно сделать.
- «Microsoft Endpoint Manager для управления устройствами»
Александр Ванюрихин, Mars
Что MEM может в управлении iOS, Android и Windows 10 устройствами. Какие есть подводные камни и проблемы.
- «Границы применимости PowerShell Desired State Configuration»
Евгений Парфенов, DataLine
Коротко поговорим о технологии, разберем нюансы и определим применимость в современном мире.
👉 Ссылка на регистрацию 👈
#Вебинар #Microsoft #Exchange #PowerShell #Mobile
Публикация из блога it-kb.ru: "Решение проблемы Shared Printer Availability Alert : The print spooler failed to share printer. Error 2114. The printer cannot be used by others on the network"
На некоторых серверах на базе Windows Server 2012 R2 с ролью сервера печати была замечена проблема со службой "Print Spooler", возникающая плавающим образом. На этапе загрузки сервера от системы мониторинга SCOM приходила масса оповещений однотипного характера "Alert: Shared Printer Availability Alert".
Далее...
#Microsoft #Windows #SCOM #PowerShell #PrintServer #PrintService #PrintSpooler #Troubleshooting #WindowsServer
На некоторых серверах на базе Windows Server 2012 R2 с ролью сервера печати была замечена проблема со службой "Print Spooler", возникающая плавающим образом. На этапе загрузки сервера от системы мониторинга SCOM приходила масса оповещений однотипного характера "Alert: Shared Printer Availability Alert".
Далее...
#Microsoft #Windows #SCOM #PowerShell #PrintServer #PrintService #PrintSpooler #Troubleshooting #WindowsServer
PowerShell 7.1 Preview 6
Breaking Changes
- Rename -FromUnixTime to -UnixTimeSeconds on Get-Date to allow Unix time input
- Make $ErrorActionPreference not affect stderr output of native commands
- Allow explicitly specified named parameter to supersede the same one from hashtable splatting
Engine Updates and Fixes
- Refactor command line parser to do early parsing
- Add support for some .NET intrinsic type converters
- Refresh and enable the ComInterop code in PowerShell
Experimental Features
- Add -Runspace parameter to all *-PSBreakpoint cmdlets
General Cmdlet Updates and Fixes
- Fix error message from new symbolic link missing target
- Make the parameter args non-nullable in the public ConsoleHost APIs
- Add missing dispose for CancellationTokenSource
- Add the parameter -Paged to Get-Help to support paging
- Fix Get-Help not properly displaying if parameter supports wildcards
- Update pwsh help for -InputFormat parameter
- Declare MIT license for files copied from Roslyn
- Improve BigInteger casting behaviors
- Fix Get-Acl -LiteralPath "HKLM:Software\Classes\*" behavior
- Add DefaultVisit method to the visitor interface and class
- Fix conflicting shorthand switch -s (STA) for pwsh
- Change Read-Host -MaskInput to use existing SecureString path, but return as plain text
- Remove ComEnumerator as COM objects using IEnumerator is now supported in .NET 5.0
- Use temporary personal path at Runspace startup when the 'HOME' environment variable is not defined
- Fix Invoke-Command to detect recursive call of the same history entry
- Change pwsh executable -inputformat switch prefix -in to -inp to fix conflict with -interactive
- Handle WSL filesystem path when analyze security zone of a file
- Make other switches mandatory in Split-Path
- New Fluent Design icon for PowerShell 7
- Fix Move-Item to support cross-mount moves on Unix
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0-preview.6
#Microsoft #Powershell
Breaking Changes
- Rename -FromUnixTime to -UnixTimeSeconds on Get-Date to allow Unix time input
- Make $ErrorActionPreference not affect stderr output of native commands
- Allow explicitly specified named parameter to supersede the same one from hashtable splatting
Engine Updates and Fixes
- Refactor command line parser to do early parsing
- Add support for some .NET intrinsic type converters
- Refresh and enable the ComInterop code in PowerShell
Experimental Features
- Add -Runspace parameter to all *-PSBreakpoint cmdlets
General Cmdlet Updates and Fixes
- Fix error message from new symbolic link missing target
- Make the parameter args non-nullable in the public ConsoleHost APIs
- Add missing dispose for CancellationTokenSource
- Add the parameter -Paged to Get-Help to support paging
- Fix Get-Help not properly displaying if parameter supports wildcards
- Update pwsh help for -InputFormat parameter
- Declare MIT license for files copied from Roslyn
- Improve BigInteger casting behaviors
- Fix Get-Acl -LiteralPath "HKLM:Software\Classes\*" behavior
- Add DefaultVisit method to the visitor interface and class
- Fix conflicting shorthand switch -s (STA) for pwsh
- Change Read-Host -MaskInput to use existing SecureString path, but return as plain text
- Remove ComEnumerator as COM objects using IEnumerator is now supported in .NET 5.0
- Use temporary personal path at Runspace startup when the 'HOME' environment variable is not defined
- Fix Invoke-Command to detect recursive call of the same history entry
- Change pwsh executable -inputformat switch prefix -in to -inp to fix conflict with -interactive
- Handle WSL filesystem path when analyze security zone of a file
- Make other switches mandatory in Split-Path
- New Fluent Design icon for PowerShell 7
- Fix Move-Item to support cross-mount moves on Unix
https://github.com/PowerShell/PowerShell/releases/tag/v7.1.0-preview.6
#Microsoft #Powershell
PowerShell Team
PowerShell 7.1 Preview 6
Update on PowerShell 7.1 release
Добавлена статья Вики
"Удалённое переименование доменных компьютеров по списку из CSV"
Для возможности удалённого централизованного переименования выборочного множества компьютеров под управлением Windows 10 в домене Active Directory сначала потребуется подготовить список компьютеров, подлежащих переименованию, в формате CSV в файл, например, с именем Rename-Computers-List.csv. Файл будет содержать в каждой отдельной строке старое и новое имя компьютера через разделитель - запятую. Первая строка файла должна остаться пустой.
Далее...
#Powershell #Windows10 #ActiveDirectory #CSV
"Удалённое переименование доменных компьютеров по списку из CSV"
Для возможности удалённого централизованного переименования выборочного множества компьютеров под управлением Windows 10 в домене Active Directory сначала потребуется подготовить список компьютеров, подлежащих переименованию, в формате CSV в файл, например, с именем Rename-Computers-List.csv. Файл будет содержать в каждой отдельной строке старое и новое имя компьютера через разделитель - запятую. Первая строка файла должна остаться пустой.
Далее...
#Powershell #Windows10 #ActiveDirectory #CSV
Microsoft Exchange Server PowerShell Cookbook
Third Edition
This cookbook is very useful for all IT Professional who wants to manage their office365 environment with Powershell.This guide is full of usable task-based recipes for managing your Microsoft Exchange 2013 environment with Windows Power shell 5.0 and the Exchange Management Shell.
This guide contains:
1. Powershell Key Concepts
2. Exchange Management shell Common Concepts
3. Managing Recipients
4. Managing Mailbox
5. Distribution Groups and Address Lists
6. Mailbox Database Management
7. Managing Client Access
8. Managing Transport services
9. High Availability
10. Exchange Security
11. Compliance and Audit Logging
12. Scripting With Exchange Web Services Managed API
👉 Скачать
#Книга #Microsoft #Exchange #Powershell #english
Third Edition
This cookbook is very useful for all IT Professional who wants to manage their office365 environment with Powershell.This guide is full of usable task-based recipes for managing your Microsoft Exchange 2013 environment with Windows Power shell 5.0 and the Exchange Management Shell.
This guide contains:
1. Powershell Key Concepts
2. Exchange Management shell Common Concepts
3. Managing Recipients
4. Managing Mailbox
5. Distribution Groups and Address Lists
6. Mailbox Database Management
7. Managing Client Access
8. Managing Transport services
9. High Availability
10. Exchange Security
11. Compliance and Audit Logging
12. Scripting With Exchange Web Services Managed API
👉 Скачать
#Книга #Microsoft #Exchange #Powershell #english
Запись блога IT-KB.RU
"Сканирование сети на предмет выявления модулей управления ИБП APC уязвимых к Ripple20"
В прошлом году компанией JSOF была публично раскрыта информация о целом наборе уязвимостей, корни которых уходят в древнюю библиотеку компании Treck, реализующую функции стека протоколов TCP/IP. Эту библиотеку на протяжении многих лет использовали разные производители аппаратного обеспечения для обеспечения работы TCP/IP во встроенном микрокоде firmware на множестве разных типов устройств. Данный пакет уязвимостей получил общее название Ripple20.
Уязвимости, входящие в состав Ripple20, имеют разные уровни критичности и среди них есть некоторые опасные уязвимости, позволяющие удалённо вызвать отказ в обслуживании или даже получать полный доступ над устройством со всеми вытекающими последствиями.
Данная проблема была освещена на множестве интернет-ресурсов, связанных с темой информационной безопасности. Вот некоторые из них:
▶️ Далее...
#Microsoft #APC #ИБП #Сеть #PowerShell #Security #nmap #SNMP
"Сканирование сети на предмет выявления модулей управления ИБП APC уязвимых к Ripple20"
В прошлом году компанией JSOF была публично раскрыта информация о целом наборе уязвимостей, корни которых уходят в древнюю библиотеку компании Treck, реализующую функции стека протоколов TCP/IP. Эту библиотеку на протяжении многих лет использовали разные производители аппаратного обеспечения для обеспечения работы TCP/IP во встроенном микрокоде firmware на множестве разных типов устройств. Данный пакет уязвимостей получил общее название Ripple20.
Уязвимости, входящие в состав Ripple20, имеют разные уровни критичности и среди них есть некоторые опасные уязвимости, позволяющие удалённо вызвать отказ в обслуживании или даже получать полный доступ над устройством со всеми вытекающими последствиями.
Данная проблема была освещена на множестве интернет-ресурсов, связанных с темой информационной безопасности. Вот некоторые из них:
▶️ Далее...
#Microsoft #APC #ИБП #Сеть #PowerShell #Security #nmap #SNMP
1️⃣ Вслед за Windows Server 2022 выходит Visual Studio 2022 Preview 1!
https://devblogs.microsoft.com/visualstudio/visual-studio-2022-preview-1-now-available/
20-тисекундный обзор на youtube:
https://youtu.be/TYO5rhZFeUQ
Скачать дистрибутив VS:
https://aka.ms/vs2022preview
2️⃣ Обновляем PowerShell 7.2 при помощи Microsoft Update!
https://devblogs.microsoft.com/powershell/preview-updating-powershell-7-2-with-microsoft-update/
How updates will work
Because of the large changes and validation required to get this to work, we will publish updates only for future releases. We have already been working on a release that updates 7.2 preview 5 or newer to 7.2 preview 7. We will begin the Microsoft Update publishing process once we release an update to GitHub.
Test new installs of PowerShell 7.2 preview
- you’ll need to have Windows 10 RS3 (10.0.16299) or newer installed and Microsoft Update enable
- run the following script from an elevated PowerShell session to setup the registry in such a way that Microsoft Update will install and update the latest version of PowerShell 7 preview
$pwshRegPath = "HKLM:\SOFTWARE\Microsoft\PowerShellCore"
$previewPath = Join-Path -Path $pwshRegPath -ChildPath "InstalledVersions\39243d76-adaf-42b1-94fb-16ecf83237c8"
if (!(Test-Path -Path $previewPath)) {
$null = New-Item -Path $previewPath -ItemType Directory -Force
}
Set-ItemProperty -Path $pwshRegPath -Name UseMU -Value 1 -Type DWord
Set-ItemProperty -Path $previewPath -Name Install -Value 1 -Type DWord
#Microsoft #VisualStudio #Powershell
https://devblogs.microsoft.com/visualstudio/visual-studio-2022-preview-1-now-available/
20-тисекундный обзор на youtube:
https://youtu.be/TYO5rhZFeUQ
Скачать дистрибутив VS:
https://aka.ms/vs2022preview
2️⃣ Обновляем PowerShell 7.2 при помощи Microsoft Update!
https://devblogs.microsoft.com/powershell/preview-updating-powershell-7-2-with-microsoft-update/
How updates will work
Because of the large changes and validation required to get this to work, we will publish updates only for future releases. We have already been working on a release that updates 7.2 preview 5 or newer to 7.2 preview 7. We will begin the Microsoft Update publishing process once we release an update to GitHub.
Test new installs of PowerShell 7.2 preview
- you’ll need to have Windows 10 RS3 (10.0.16299) or newer installed and Microsoft Update enable
- run the following script from an elevated PowerShell session to setup the registry in such a way that Microsoft Update will install and update the latest version of PowerShell 7 preview
$pwshRegPath = "HKLM:\SOFTWARE\Microsoft\PowerShellCore"
$previewPath = Join-Path -Path $pwshRegPath -ChildPath "InstalledVersions\39243d76-adaf-42b1-94fb-16ecf83237c8"
if (!(Test-Path -Path $previewPath)) {
$null = New-Item -Path $previewPath -ItemType Directory -Force
}
Set-ItemProperty -Path $pwshRegPath -Name UseMU -Value 1 -Type DWord
Set-ItemProperty -Path $previewPath -Name Install -Value 1 -Type DWord
#Microsoft #VisualStudio #Powershell
Публикация в нашем блоге IT-KB.RU на тему:
PowerShell и регулярные выражения (Regex) (Найти, Заменить, Вхождения…). Перевод статьи
Данный материал является переводом оригинальной статьи
"SID-500.COM : PowerShell and Regex (Find, Replace, Occurrences…)".
Хотите получить больше от PowerShell? Уточнить поиск? Просто сделать что-то лучше? Тогда попробуйте Regex (Regular Expressions). Операторы Regex делают возможным то, что кажется невозможным. В этом сообщении блога я покажу вам несколько примеров Regex, которые вы можете использовать. Давайте погрузимся в тему.
Я расскажу о следующих сценариях и проблемах:
👉 Продолжить чтение...
#PowerShell #Script #Regex
PowerShell и регулярные выражения (Regex) (Найти, Заменить, Вхождения…). Перевод статьи
Данный материал является переводом оригинальной статьи
"SID-500.COM : PowerShell and Regex (Find, Replace, Occurrences…)".
Хотите получить больше от PowerShell? Уточнить поиск? Просто сделать что-то лучше? Тогда попробуйте Regex (Regular Expressions). Операторы Regex делают возможным то, что кажется невозможным. В этом сообщении блога я покажу вам несколько примеров Regex, которые вы можете использовать. Давайте погрузимся в тему.
Я расскажу о следующих сценариях и проблемах:
👉 Продолжить чтение...
#PowerShell #Script #Regex