āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻļā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ˜āĻŸāĻ¨āĻžāĻ° āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž

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 āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŦā§‡ - āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻĒāĻĨāĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— cmdlets 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 āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ win32_process āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ get-ciminstance cmdlet āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ-āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻŋāĻāĻŽāĻĄāĻŋāĻ˛ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ—ā§āĻ˛āĻŋ āĻšāĻŦā§‡ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻĄ (āĻĒāĻŋāĻĒāĻŋāĻ†āĻ‡āĻĄāĻŋ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋ), āĻ•ā§āĻ°āĻŋāĻ¯āĻŧā§‡āĻļāĻ¨ āĻĄā§‡āĻŸ (āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ¤āĻžāĻ°āĻŋāĻ–), āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻĄ (āĻĒāĻŋāĻ†āĻ‡āĻĄāĻŋ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ†āĻ‡āĻĄāĻŋ), āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ¨ā§‡āĻŽ (āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ¨ā§‡āĻŽ), āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ‡āĻ¨āĨ¤ (āĻ¸ā§āĻŸāĻžāĻ°ā§āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ)āĨ¤

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

āĻ¸āĻŽāĻ¸ā§āĻ¤ TCP āĻāĻŦāĻ‚ UDP āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡, $netTCP āĻāĻŦāĻ‚ $netUDP āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡ Get-NetTCPConnection āĻāĻŦāĻ‚ Get-NetTCPConnection cmdlets āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

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

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

āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ•āĻžāĻœ āĻāĻŦāĻ‚ āĻ•āĻžāĻœā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻœāĻžāĻ¨āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž get-ScheduledTask āĻāĻŦāĻ‚ Get-ScheduledJob cmdlets āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻšāĻ˛ā§āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• $task āĻāĻŦāĻ‚ $job, āĻ•āĻžāĻ°āĻŖ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ•āĻžāĻœ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĻā§‚āĻˇāĻŋāĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻŦā§ˆāĻ§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻž āĻŽā§‚āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨āĨ¤ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ-āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ cmdlet āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡āĨ¤

$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 āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻĄā§‡āĻŸāĻž āĻ˛ā§āĻ•āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšā§‡āĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻĻā§‚āĻˇāĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻ‡āĻ¨āĻœā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻĄā§‡āĻŸāĻž āĻ˛ā§āĻ•āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

PowerShell-āĻ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽ āĻĻā§‡āĻ–āĻ¤ā§‡ * āĻšāĻŋāĻšā§āĻ¨ āĻ¸āĻš get-item cmdlet āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻŸ-āĻ‡āĻ¨ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻŽ āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ, āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž $ADS āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤

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

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ˛āĻ— āĻ‡āĻ¨ āĻ•āĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšāĻŦā§‡, āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ $user āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ quser āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻŦāĨ¤

$user = quser

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒāĻž āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ•ā§āĻ°āĻŽāĻŖāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ…āĻŸā§‹āĻ°āĻžāĻ¨ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ…āĻŸā§‹āĻĒā§āĻ˛ā§‡āĻ¤ā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ Get-ItemProperty cmdlet āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤
āĻ†āĻ¸ā§āĻ¨ āĻĻā§āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ: $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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨