Архив рубрики: Powershell

PowerShell. Снимаем скриншоты

Не знаю для каких задач вам может пригодиться снимать с экрана скриншоты, но надеюсь что для абсолютно легальных.  Например для родительского контроля.
Родительский контроль это ведь легально, да?
Читать далее PowerShell. Снимаем скриншоты

Powershell. Развертывание версии 5.1 в домене средствами GPO

Если по каким то причинам, в преддверии окончания поддержки Windows 7, вы еще не обновили ОС вашего домена до Windows 10, и основная часть хостов до сих пор используют семерку, то вам может пригодится заметка по развертыванию PowerShell 5.1 Читать далее Powershell. Развертывание версии 5.1 в домене средствами GPO

Тихое удаление программы по GUID

Приложения, при установке которых использовался установщик Windows msiexec могут быть деинсталлированы через консоль, с его же помощью. Для этого нужно только узнать GUID программы и передать его установщику.
Читать далее Тихое удаление программы по GUID

PowerShell. Понижение версии

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

PowerShell.exe –version 2.0

Читать далее PowerShell. Понижение версии

Удаленное администрирование. Установка и удаление программ

В этой заметке разберем команды для удаленной установки и удаления программ, используя средства wmi и psexec

Читать далее Удаленное администрирование. Установка и удаление программ

Powershell. Повышение привилегий скрипта

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

### Elevate Credentials ###
param([switch]$Elevated)
function Check-Admin {
$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) }
if ((Check-Admin) -eq $false)  { 
    if ($elevated){ # Could not elevate, quit
} else { 
    Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ( $myinvocation.MyCommand.Definition ))
    } exit
}

Код не мой, уже не помню где нашел, но под рукой быть должен

Powershell. Вывод всплывающего сообщения на экран/MsgBox

Я не нашел способа сделать так,  что бы вызываемое окно было поверх всех остальных окон, с помощью стандартных средств PS:

[System.Windows.Forms.MessageBox]::Show("Message","Title")

Но я знаю что в VBS есть свойство MsgBox под названием SystemModal, которое как раз и заставляет появляться popup окно поверх всех, расположенных на экране.
Читать далее Powershell. Вывод всплывающего сообщения на экран/MsgBox