Основные команды:
Get-Process - получить список процессов (алиас PS)
Get-PSDrive - покажет все диски системы (реестр алиасы и ...)
ps | ls - покажет откуда запущенны все процессы
ps explorer | ls - покажет откуда запущен процесс explorer
Set-Location HKLM: - перейти в реестр
cd HKLM: - перейти в реестр
Set-Location HKLM:
Set-Location c: - перейти на диск c:
Get-Location - покажет текущие место положение
Get-Member - показать доступные методы
Get-Commnad *name* - показать команду в катрой есть *name*
ps notepad | Get-Member - показать доступные методы для notepad (kill start WaitForExit)
(ps notepad).WaitForExit() - перед этой командой откроем notepad. выполнив ее консоль будет не доступна пока не закроем notepad/
(ps notepad).StartTime - покажет когда был запущен notepad
shutdown /r /f /t 0 - перезагрузить пк
shutdown /s /f /t 0 - выключить пк
shutdown /r /f /m \\HOST_NAME /t 0 - перезагрузить пк с именем HOST_NAME
shutdown /s /f /m \\HOST_NAME /t 0 - выключить пк с именем HOST_NAME
Get-WMIObject -Class Win32_OperatingSystem | Get-Member - источник информации о системе
(Get-WMIObject -Class Win32_OperatingSystem).Caption - название операционной системы
(Get-WMIObject -Class Win32_OperatingSystem).CSDVersion - установленный сервис пак
(Get-WMIObject -Class Win32_OperatingSystem).CSName - имя компьютера
(Get-WMIObject -Class Win32_OperatingSystem).OSLanguage - язык операционной системы 1033 — английский, 1049 — русский
Get-WmiObject -Class Win32_Product | Sort-Object Vendor, Name | Format-Table Vendor, Name, Version - будет таблица содержащая сведения об установленном ПО
Get-WmiObject -Class Win32_Product -ComputerName . —Filter "Name=’DeviceLock’" | Format-List -Property * - информация об установленном ПО с именем DeviceLock
Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName "." - информация об установленных обновлениях
Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName "." | where-object {$_.hotfixid -eq "KB2570791"} - находим установлены ли обновление KB2570791
Get-WmiObject Win32_LogicalDisk -ComputerName SRV01 -Filter "DeviceID='C:'" | Select-Object Size,FreeSpace - сколько свободного места на диске C:
hostname - показать имя компьютера
netdom renamecomputer Win01 /newname:SRV01 - переименовать пк с именем win01 в srv01
netdom join SRV01 /Domain:example.org /OU:ou=ouname,dc=example,dc=org /UserD:DomainAdmin /PasswordD:password - добавить пк с именем srv01 в домен example.org
Rename-Computer –NewName SRV01 - переименовать пк с именем win01 в srv01
Add-Computer -domainname example.org -OUPath "OU=ouname=example,DC=org" - добавить пк с именем srv01 в домен example.org
net use E: \\SRV01\users /Persistent:Yes - монтирование сетевых диска ( шара )
New-PSDrive –Name E –PSProvider FileSystem –Root \\SRV01\users –Persist - монтирование сетевых диска ( шара )
diskpart - работы с дисками
fsutil - работы с дисками
fsutil fsinfo statistics C: - информация о партиции С:
Нахождение установленных обновлений:
$a = get-content servers.txt
$a | foreach { if (!(get—hotfix -id KB2570791 -computername $_)) { add-content $_ -path Missing—KB2570791.txt}}
Нахождение обновлений на множестве компьютеров:
$computers = Get-Content "hostlist.txt"
$kb = "KB2570791"
foreach ($computer in $computers) {
Get-WmiObject -Class Win32_QuickFixEngineering -ComputerName $computer | where {$_.hotfixid -like "*$kb*" -OR $_.description -like "*$kb*" }
}
Установка программы:
(Get-WMIObject -ComputerName "host-01" -List | Where-Object -FilterScript {$_.Name -eq "Win32_Product"}).Install(\\SERVER_NAME\Deploy\Package_01\tools.msi) - установка программы tools.msi на пк host-01
Обновление \ Удаление ПО:
(Get-WmiObject -Class Win32_Product -ComputerName . —Filter Name=‘OldTools’").Upgrade(\\SERVER_NAME\Deploy\Package_01\OldTools.msi) - обновление по (Get-WmiObject -Class Win32_Product —Filter "Name=’Devicelock’" -ComputerName "." ).Uninstall() - удаление по