Powershell - рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЙрдЧрд┐рдВрдЧ

рд╢реБрдн рджрд┐рди, $ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо!

рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдореИрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕реВрдЪрдирд╛ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рдХреЗрд╡рд▓ рдПрдХ рдлрд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред

рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдФрд░ рд▓реЙрдЧ (рдкрд╛рда) рджреЛрдиреЛрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдорд╛рдирдХ рд░рд╛рдЗрдЯ-рд╣реЛрд╕реНрдЯ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред


рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рд╕реЗ:


рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рд╕рддреНрд░ рдХреЗ рднреАрддрд░ рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ - рдЗрд╕рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВред

рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
write-log "Hello !"
14.07.2011 00:22:15 info Hello !
write-log -message "Hello !" -type warning

write-log -message "Hello !" -type error -silent

, :
write-log -message "Hello !" -type CustomType logfile c:\enter\your\path\here.log


рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдкреВрд░реЗ рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЬрдм рддрдХ рдЪрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ) рдХреЛ $ errorcount рдФрд░ $ рдЪреЗрддрд╛рд╡рдиреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯ-рдлрд╝рдВрдХреНрд╢рдВрд╕ .ps1 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╣рддрд╛ рд╣реВрдВ:

рдХрд┐рд╕реА рднреА (рдЬрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ) рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд:
 $ver="0.1" $ProgrammName="SomeScriptName" try { #          ./Set-Functions.ps1 #  $global:logfilename = "log`\"+ $ProgrammName +".log" write-log "$ProgrammName (ver $ver) started." } catch { return "Error loading functions Set-Functions.ps1" } 


рд░рд╛рдЗрдЯ-рд▓реЙрдЧ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ:
 $ver = "0.4" $dt=Get-Date -Format "dd-MM-yyyy" New-Item -ItemType directory log -Force | out-null #    $global:logfilename="log\"+$dt+"_LOG.log" [int]$global:errorcount=0 #   [int]$global:warningcount=0 #   function global:Write-log #     -    . {param($message,[string]$type="info",[string]$logfile=$global:logfilename,[switch]$silent) $dt=Get-Date -Format "dd.MM.yyyy HH:mm:ss" $msg=$dt + "`t" + $type + "`t" + $message #: 01.01.2001 01:01:01 [tab] error [tab]  Out-File -FilePath $logfile -InputObject $msg -Append -encoding unicode if (-not $silent.IsPresent) { switch ( $type.toLower() ) { "error" { $global:errorcount++ write-host $msg -ForegroundColor red } "warning" { $global:warningcount++ write-host $msg -ForegroundColor yellow } "completed" { write-host $msg -ForegroundColor green } "info" { write-host $msg } default { write-host $msg } } } } 


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЦрд╛рдореА рд╣реИ - рдпрд╣ "рд╕рд┐рдВрдХреНрд░реЛрдирд╕" рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рдкрд╛рддрд╛ рд╣реИред рдХреМрди рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЬрд╛рдирддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In124105/


All Articles