рдпрд╣ рд▓реЗрдЦ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрдЧрд╛ рдХрд┐ рд╣рдо рд╕рднреА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреЙрд╡рд░реНрд╕ рдХреЛ рдХреНрдпреЛрдВ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд▓реЗрддреЗ рд╕рдордп, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдФрд░ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдм рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред Powershell рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЖрдХрд░реНрд╖рдХ cmdlets рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИ, рд╕рдм рдХреБрдЫ рдФрд░ рд╕рд╣рдЬ рдирд╛рдо рдХрд╛ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕реАрдЦрдиреЗ рдХреА рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рднрд╛рд╖рд╛ рд╣реИред
рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдо рд▓реЗрдЦрдХ рдХреА рд░рд╛рдп рдореЗрдВ рдХреБрдЫ рд╢рд╛рдВрдд рдЯреАрдореЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рд╕рдордЭрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рд╢рд╛рдВрдд рд╣реИред рдЪрд▓реЛ рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рдЙрдкрдпреЛрдЧреА рд╕реНрдирд┐рдкреЗрдЯ:
рд╣рдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ TrustedHosts рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВWinRm рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреАред рдХрдорд╛рдВрдб рдкрд┐рдЫрд▓реЗ рдореВрд▓реНрдп рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдЧрд╛, рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдЖрдИрдкреА рдпрд╛ рд╣реЛрд╕реНрдЯрдирд╛рдо рдЬреЛрдбрд╝реЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рд╕рднреА рд╣реЛрд╕реНрдЯ AD рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЫреВрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
Set-Item WSMan:\localhost\Client\TrustedHosts -Value '192.168.0.1'
рдЕрдЧрд░ рдЖрдк рд╣рд░ рдмрд╛рд░ рдЯреНрд░рд╕реНрдЯреЗрдбрд╣реЛрд╕реНрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╣реЛрд╕реНрдЯ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
Set-Item WSMan:\localhost\Client\TrustedHosts -Value '*'
рд╣рдо рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ:рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рдпрд╣ рдЕрдиреБрд╕реВрдЪрдХ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рд╕рд╡рд░реНрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд▓реЙрдЧ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
Read-Host -AsSecureString | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File -FilePath .\Password.txt
рд╣рдо рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдкрд╛рд╕рд╡рд░реНрдб рд▓реЗрддреЗ рд╣реИрдВ:
$Password = Get-Content C:\Password.txt | ConvertTo-SecureString
рдпрд╣реА рдмрд╛рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЧреЗрдЯ-рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рд░реАрдб-рд╣реЛрд╕реНрдЯ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
Get-Credential | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File -FilePath .\Credential.txt
рд╣рдореЗрдВ рдУрдПрд╕ рдХреЗ рдЕрдВрддрд┐рдо рдмреВрдЯ рдХреА рддрд╛рд░реАрдЦ рдорд┐рд▓рддреА рд╣реИред (gcim win32_operatingsystem).LastBootUpTime
рдЗрд╕реА рддрд░рд╣ рд╣рдо рднреА рдЙрда рдЬрд╛рддреЗ рд╣реИрдВред
Get-CimInstance Win32_operatingsystem -ComputerName $computers | Select-Object LastBootUpTime, @{Name="Uptime";Expression = {(Get-Date) - $_.LastBootUptime}}
рд╣рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ:рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рдШрдЯрдХ рдирд╣реАрдВ:
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table тАУAutoSize
рд╣рдореЗрдВ рдбреНрд░рд╛рдЗрд╡ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдФрд░ рдЙрди рдкрд░ рдореБрдлреНрдд рд╕реНрдерд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИ Get-PSDrive -PSProvider filesystem | where-object {$_.used -gt 0} | Select-Object -property Root,@{name="Size";expression={($_.used+$_.free)/1GB -as [int]}}, @{name="Used";expression={($_.used/1GB) -as [int]}}, @{name="Free";expression={($_.free/1GB) -as [int]}}
рд╣рдо рдЗрд╕рдХреЗ рдирд╛рдо рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВредрдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо Chrome рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рднреА рдЙрдкрдпреБрдХреНрдд рд╣реИ рдпрджрд┐ рдЖрдк рд╕рдм рдХреБрдЫ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
Get-Process -Name "chrome" | Stop-Process
рдмрдЪреНрдЪреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рдПрдХреНрд╕реЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЙрдкреА рдХрд░реЗрдВрдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореВрд╣ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рд╕рднреА рд╕рдмрдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИред рдЖрджреЗрд╢ рдкреБрдирд░рд╛рд╡рд░реНрддреА, рдиреАрдЪреЗ рд╕реЗ рдКрдкрд░ рддрдХ, рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдкрдврд╝реЗрдВ рдФрд░ рд▓рд┐рдЦреЗрдВред
рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ ACL рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ:
$Acl = Get-Acl -Path C:\folder\
рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдкрд░ ACL рдбрд╛рд▓реЗрдВ:
Get-ChildItem -Path C:\Folder\ -Recurse | Set-Acl $Acl
рдЙрдкрдпреЛрдЧреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдордЬрд╝рд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдЬрд╝рд░ рд░рдЦрдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ AD рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧреА, рдЗрд╕реЗ рдкреВрд░реНрд╡-рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдпрд╛ рдЧреЗрдЯ-рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╕рднреА рдЕрдВрддрд░:
C рд╡рд┐рдЬреНрдЮрд╛рдкрди:
$ADComputers = (Get-ADComputer -filter *).DNSHostName
рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рдмрд┐рдирд╛:
$Credentials = Get-Credential $Computers = Get-Content -Path C:\servers.txt
рд╣рдо AD рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдЕрдВрддрд┐рдо рдмреВрдЯ рдХреА рддрд╛рд░реАрдЦ рд╕реЗ рдКрдкрд░ рдЙрдарддреЗ рд╣реИрдВ: $ADComputers = (Get-ADComputer -filter *).DNSHostName foreach ($i in $ADComputers) { Invoke-Command $i { Get-CimInstance Win32_operatingsystem | Select-Object LastBootUpTime, @{Name="Uptime";Expression = {(Get-Date) - $_.LastBootUptime}} } }
рд╣рдо рд╕рднреА рдПрдбреА рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рд╕рднреА рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ: $ADComputers = (Get-ADComputer -filter *).DNSHostName foreach ($i in $ADComputers) { Invoke-Command -computername $i { gcim win32_product -computername $env:computername | Sort-Object -property Vendor,Name | Select-Object -property Vendor,Name, Caption } }
рдЗрдирд╡реЙрдЗрд╕-рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
Get-WindowsFeature | Where-Object -Property "Installed" -EQ "Installed"
рд╣рдореЗрдВ рд╡реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рд╣рдореЗрдВ рдЬрд┐рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рд╡рд╣ рдЪрд▓ рд░рд╣реА рд╣реИ:рдпрджрд┐ рдЖрдк рднреВрд▓ рдЧрдП рдХрд┐ рдпрд╣ рдХреМрди рд╕рд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реИ рдпрд╛ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд╛рд▓реВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
$ADComputers = (Get-ADComputer -filter *).DNSHostName foreach ($i in $ADComputers) { Invoke-Command -computername $i { Get-Process -Name "Chrome" -ErrorAction SilentlyContinue } }
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдорд╛рд░рдирд╛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
$ADComputers = (Get-ADComputer -filter *).DNSHostName foreach ($i in $ADComputers) { Invoke-Command -computername $i { Get-Process -Name "Chrome" | Stop-Process -ErrorAction SilentlyContinue } }
рд╣рдореЗрдВ рд╡реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ:рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╛рд╡рд╛ред рдпрд╣ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдХреЗ рджреМрд░рд╛рди рдорджрдж рдХрд░реЗрдЧрд╛, рдЖрдк рдЙрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдирд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
$ADComputers = (Get-ADComputer -filter *).DNSHostName foreach ($i in $ADComputers) { Invoke-Command -computername $i { gcim win32_product -computername $env:computername | Select-String -Pattern "Java" -AllMatches | Sort-Object -property Vendor,Name | Format-Table -ErrorAction SilentlyContinue } }
рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпреЗ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереЗред
рд╣рдо рд╕реНрдерд╛рдкрд┐рдд рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2019 рдХреЛрд░ рдХреЗ рд╕рд╛рде 99 рд░реВрдмрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрдпрддрди рдЕрд▓реНрдЯреНрд░рд╛рд▓рд╛рдЗрдЯ
рд╡рд┐рдВрдбреЛрдЬ рд╡реАрдбреАрдПрд╕ рдЯреИрд░рд┐рдл рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
