ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° PowerShell Π·Π° ΡΠΎΠ±ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΎΡ‚

PowerShell Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ чСста Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° која чСсто ја користат ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅ Π½Π° ΠΌΠ°Π»ΠΈΡ†ΠΈΠΎΠ·Π΅Π½ софтвСр ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»ΠΈΡΡ‚ΠΈΡ‚Π΅ Π·Π° бСзбСдност Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.
Оваа ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° ќС ја Ρ€Π°Π·Π³Π»Π΅Π΄Π° ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° PowerShell Π·Π° далСчинско ΡΠΎΠ±ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ ΠΊΡ€Π°Ρ˜Π½ΠΈΡ‚Π΅ ΡƒΡ€Π΅Π΄ΠΈ ΠΊΠΎΠ³Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ‚Π΅ Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ΠΈ со бСзбСдноста Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅. Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, ќС Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ скрипта ΡˆΡ‚ΠΎ ќС Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° ΠΊΡ€Π°Ρ˜Π½ΠΈΠΎΡ‚ ΡƒΡ€Π΅Π΄, Π° ΠΏΠΎΡ‚ΠΎΠ° ќС ΠΈΠΌΠ° Π΄Π΅Ρ‚Π°Π»Π΅Π½ опис Π½Π° ΠΎΠ²Π°Π° скрипта.

function CSIRT{
param($path)
if ($psversiontable.psversion.major -ge 5)
	{
	$date = Get-Date -Format dd.MM.yyyy_hh_mm
	$Computer = $env:COMPUTERNAME
	New-Item -Path $path$computer$date -ItemType 'Directory' -Force | Out-Null
	$path = "$path$computer$date"

	$process = get-ciminstance -classname win32_process | Select-Object creationdate, processname,
	processid, commandline, parentprocessid

	$netTCP = Get-NetTCPConnection | select-object creationtime, localaddress,
	localport, remoteaddress, remoteport, owningprocess, state
	
	$netUDP = Get-NetUDPEndpoint | select-object creationtime, localaddress,
	localport, remoteaddress, remoteport, owningprocess, state

	$task = get-ScheduledTask | Select-Object author, actions, triggers, state, description, taskname|
	where author -notlike '*ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚*' | where author -ne $null |
	where author -notlike '*@%systemroot%*' | where author -notlike '*microsoft*'

	$job = Get-ScheduledJob

	$ADS =  get-item * -stream * | where stream -ne ':$Data'

	$user = quser

	$runUser = Get-ItemProperty "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"

	$runMachine =  Get-ItemProperty "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun"

	$array = $process, $netTCP, $netUDP, $task, $user, $runUser, $runMachine, $job, $ADS
	$arrayName = "Processes", "TCPConnect", "UDPConnect", "TaskScheduled", "Users", "RunUser", "RunMachine",
	"ScheduledJob", "AlternativeDataStream"


	for ($w = 0; $w -lt $array.count; $w++){
		$name = $arrayName[$w]
		$array[$w] >> $path$name.txt
		}

	}

}

Π—Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅, ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° CSIRT Π΅ΠΊΡΡ‚Π΅Π½Π·ΠΈΡ˜Π°, кој ќС ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ - ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ cmdlet Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ Powershell v5, Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° PowerShell бСшС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°ΡšΠ΅.

function CSIRT{
		
param($path)# ΠΏΡ€ΠΈ запускС скрипта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для сохранСния
if ($psversiontable.psversion.major -ge 5)

Π—Π° полСсно Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡ˜Π° Π½ΠΈΠ· ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ сС Π΄Π²Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ: $date ΠΈ $Computer, Π½Π° ΠΊΠΎΠΈ ќС ΠΈΠΌ сС Π΄ΠΎΠ΄Π΅Π»ΠΈ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΎΡ‚ ΠΈ Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ Π΄Π°Ρ‚ΡƒΠΌ.

$date = Get-Date -Format dd.MM.yyyy_hh_mm
$Computer = $env:COMPUTERNAME
New-Item -Path $path$computer$date –ItemType 'Directory' -Force | Out-Null 
$path = "$path$computer$date"

Π“ΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ списокот Π½Π° процСси ΠΊΠΎΠΈ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ корисник Π½Π° слСдниов Π½Π°Ρ‡ΠΈΠ½: ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $process, Π΄ΠΎΠ΄Π΅Π»ΡƒΠ²Π°Ρ˜ΡœΠΈ ѝ Π³ΠΎ cmdlet-ΠΎΡ‚ get-ciminstance со класата win32_process. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ cmdlet Select-Object, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΈΠ·Π»Π΅Π·Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, Π²ΠΎ Π½Π°ΡˆΠΈΠΎΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ˜ Ρ‚ΠΎΠ° ќС Π±ΠΈΠ΄Π°Ρ‚ родитСлски процСс (ID Π½Π° родитСлски процСс PPID), Π΄Π°Ρ‚ΡƒΠΌ Π½Π° создавањС (Π΄Π°Ρ‚ΡƒΠΌ Π½Π° создавањС Π½Π° процСс), ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ (ID Π½Π° процСс), ΠΈΠΌΠ΅ Π½Π° процСс (ΠΈΠΌΠ΅ Π½Π° процСс), ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° линија ( ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅).

$process = get-ciminstance -classname win32_process | Select-Object creationdate, processname, processid, commandline, parentprocessid

Π—Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ листа Π½Π° ситС TCP ΠΈ UDP ΠΊΠΎΠ½Π΅ΠΊΡ†ΠΈΠΈ, ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ $netTCP ΠΈ $netUDP со Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ ќС ΠΈΠΌ Π³ΠΈ Π΄ΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ cmdlet-ΠΈΡ‚Π΅ Get-NetTCPConnection ΠΈ Get-NetTCPConnection, соодвСтно.

$netTCP = Get-NetTCPConnection | select-object creationtime, localaddress, localport, remoteaddress, remoteport, owningprocess, state

$netUDP = Get-NetUDPEndpoint | select-object creationtime, localaddress, localport, remoteaddress, remoteport, owningprocess, state

ЌС Π±ΠΈΠ΄Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ја Π΄ΠΎΠ·Π½Π°Π΅Ρ‚Π΅ листата Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Π—Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΎΠ²Π°, Π³ΠΈ користимС cmdlets get-ScheduledTask ΠΈ Get-ScheduledJob. Π”Π° ΠΈΠΌ Π³ΠΈ Π΄ΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ $task ΠΈ $job, бидСјќи ΠŸΡ€Π²ΠΈΡ‡Π½ΠΎ, ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π·Π°ΠΊΠ°ΠΆΠ°Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎ систСмот, Π° ΠΏΠΎΡ‚ΠΎΠ° Π·Π° Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ ΠΌΠ°Π»ΠΈΡ†ΠΈΠΎΠ·Π½ΠΈ активности Π²Ρ€Π΅Π΄ΠΈ Π΄Π° сС Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π°Ρ‚ Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½ΠΈΡ‚Π΅ Π·Π°ΠΊΠ°ΠΆΠ°Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎ Ρ‚ΠΎΠ° ќС Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ cmdlet Select-Object.

$task = get-ScheduledTask | Select-Object author, actions, triggers, state, description, taskname| where author -notlike '*ΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚*' | where author -ne $null | where author -notlike '*@%systemroot%*' | where author -notlike '*microsoft*' # $task ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ², содСрТащих β€œΠœΠ°ΠΉΠΊΡ€ΠΎΡΠΎΡ„Ρ‚β€, β€œMicrosoft”, β€œ*@%systemroot%*”, Π° Ρ‚Π°ΠΊΠΆΠ΅ «пустых» Π°Π²Ρ‚ΠΎΡ€ΠΎΠ²
$job = Get-ScheduledJob

Π’ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм NTFS постои Ρ‚Π°ΠΊΠ²ΠΎ Π½Π΅ΡˆΡ‚ΠΎ ΠΊΠ°ΠΊΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ (ADS). Ова Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π²ΠΎ NTFS ΠΌΠΎΠΆΠ΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎ Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅ со повСќС Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ADS, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ скриСтС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ Π½Π΅ Π±ΠΈ Π±ΠΈΠ»Π΅ Π²ΠΈΠ΄Π»ΠΈΠ²ΠΈ ΠΏΡ€Π΅ΠΊΡƒ стандардни систСмски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Ова ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° сС внСсС Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½ ΠΊΠΎΠ΄ ΠΈ/ΠΈΠ»ΠΈ Π΄Π° сС ΡΠΎΠΊΡ€ΠΈΡ˜Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ.

Π—Π° ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ прСноси Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ PowerShell, ќС Π³ΠΈ користимС get-item cmdlet ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½Π°Ρ‚Π° Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° прСнос Π½Π° Windows со симболот * Π·Π° Π΄Π° Π³ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ ситС ΠΌΠΎΠΆΠ½ΠΈ прСноси, Π·Π° ΠΎΠ²Π° ќС ја создадСмС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° $ADS.

$ADS = get-item * -stream * | where stream –ne ':$Data' 

ЌС Π±ΠΈΠ΄Π΅ корисно Π΄Π° сС Π΄ΠΎΠ·Π½Π°Π΅ списокот Π½Π° корисници најавСни Π²ΠΎ систСмот; Π·Π° ΠΎΠ²Π° ќС создадСмС ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° $user ΠΈ ќС ја Π΄ΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° quser.

$user = quser

НапаѓачитС ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π½Π°ΠΏΡ€Π°Π²Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ автоматското ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π·Π° Π΄Π° Π΄ΠΎΠ±ΠΈΡ˜Π°Ρ‚ основа Π²ΠΎ систСмот. Π—Π° Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π·Π° ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ користитС cmdlet-ΠΎΡ‚ Get-ItemProperty.
АјдС Π΄Π° создадСмС Π΄Π²Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ: $runUser - Π·Π° Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° корисникот ΠΈ $runMachine - Π·Π° Π΄Π° Π³ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΠΎΡ‚.

$runUser = Get-ItemProperty 
"HKCU:SoftwareMicrosoftWindowsCurrentVersionRun"
$runMachine = Get-ItemProperty 
"HKLM:SoftwareMicrosoftWindowsCurrentVersionRun"

Π’Π°ΠΊΠ° ΡˆΡ‚ΠΎ ситС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ сС Π·Π°ΠΏΠΈΡˆΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, создавамС Π½ΠΈΠ·Π° со ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΈ Π½ΠΈΠ·Π° со имиња Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ.


$array = $process, $netTCP, $netUDP, $task, $user, $runUser, $runMachine, $job, $ADS
$arrayName = "Processes", "TCPConnect", "UDPConnect" "TaskScheduled", "Users", "RunUser", "RunMachine",
"ScheduledJob", "Alternative Data Stream"

И со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Π·Π° јамка, Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ќС Π±ΠΈΠ΄Π°Ρ‚ запишани Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅.

for ($w = 0; $w -lt $array.count; $w++){
	$name = $arrayName[$w]
	$array[$w] >> $path$name.txt

По ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° скриптата, ќС сС ΠΊΡ€Π΅ΠΈΡ€Π°Π°Ρ‚ 9 тСкстуални Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΈ Π³ΠΈ содрТат ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ДСнСс, профСсионалцитС Π·Π° ΡΠ°Ρ˜Π±Π΅Ρ€ бСзбСдност ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π³ΠΎ користат PowerShell Π·Π° Π΄Π° Π³ΠΈ Π·Π±ΠΎΠ³Π°Ρ‚Π°Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΡˆΡ‚ΠΎ ΠΈΠΌ сС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°ΡšΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎ Π½ΠΈΠ²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°. Π‘ΠΎ додавањС Π½Π° скрипта Π·Π° ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ Π½Π΅ΠΊΠΎΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Π΅Π· Π΄Π° отстрануватС Π΄Π΅ΠΏΠΎΠ½ΠΈΠΈ, слики ΠΈΡ‚Π½.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€