Skip to content

Instantly share code, notes, and snippets.

View kayasax's full-sized avatar

Loïc MICHEL kayasax

View GitHub Profile
kayasax / Powershell Script Template.ps1
Last active December 22, 2015 19:39
Template for powershell script. Makes all errors "terminating" and send mail if error occurs
View Powershell Script Template.ps1
# Templata.ps1
# author: Loic MICHEL
# date: 10/09/2013
# abstract: make all errors terminating errors and send email + raise event in case of failure
kayasax / SchedulerService.ps1
Created September 20, 2013 07:36
Import & export of scheduled tasks using scheduler service
View SchedulerService.ps1
# create task from its xml definition
$sch = New-Object -ComObject("Schedule.Service")
$folder =$sch.GetFolder("\subfolder")
#import .xml
Get-childItem -path $task_path -Filter *.xml | %{
kayasax / parameters.ps1
Last active June 14, 2017 11:23
Exemple d'usage de PARAMETER
View parameters.ps1
[CmdletBinding()] #make script react as cmdlet (-verbose etc..)
[Parameter(Position=0, Mandatory=$true,ValueFromPipeline = $true)]
kayasax / replace.ps1
Created February 12, 2015 14:45
replace a version number
View replace.ps1
# replace versionnumber="xxx" whith versionnumber="yyy"
(gc C:\temp\config.xml) -replace '(newversion=)".*"' ,'$1"yyy"' # if you want to save the file add |sc c:\temp\config.xml
kayasax / substring.ps1
Created March 19, 2015 12:13
Extraire une chaîne de caractères via regex
View substring.ps1
#exemple pour extraire une adresse IP
kayasax / array2csv.ps1
Created April 13, 2015 08:49
powershell Array collection to CSV
View array2csv.ps1
# instead adding an hashtable to the collection, we convert it to psobject
$prop=@{"serveur"="$computername";"nom"="$n";"programme"="$p";"arguments"="$a"; "xml"="$x"}
$col+= new-object -type pscustomobject -property $prop
#this allow us to export data to csv
$r |select serveur,nom,programme, arguments,xml |export-csv -path c:\temp\tasks.csv -notype -delimiter ';' -append
kayasax / CleanDir.ps1
Created April 29, 2015 09:38
Conserver les X fichiers plus récents d'un répertoire
View CleanDir.ps1
#combien d'éléments à sauvegarder ?
ls $SourceDir |sort lastwritetime -desc |select -skip $limite # | remove-item
kayasax / removeEmptyLines.ps1
Created April 29, 2015 10:16
Suppression de lignes vides après un split
View removeEmptyLines.ps1
# some ways to remove empty lines when splitting strings
# for example
# $text = "Video Video Audio Audio VBI VBI"
# $text.Split()
# outputs this
# Video
# Video
kayasax / parsingLines.ps1
Created April 29, 2015 10:19
Comment parser un fichier organisé "en lignes" plutôt qu'en "colonnes"
View parsingLines.ps1
PARSING (log) files.
when log files contains several colums on the same line we can use importfrom-csv
but how to do when log files is organized 'by lines' ?
Name: ENC1
IPv4 Address:
Link Settings: Forced, 100 Mbit, Full Duplex
Name: ENC2
kayasax / legacyapps.ps1
Created April 29, 2015 10:21
Lancer des exécutables DOS depuis powershell
View legacyapps.ps1
# running dos command with lengthy parameters may sometimes be difficult to run from powershell
# one easy step that may correct the problem is to call cmd.exe /c before calling the command :
# this will not work
# & c:\windows\handle.exe /accepteula .d1 > C:\upf\logs\backup\handle.txt
# this is OK
start-process -Wait -NoNewWindow cmd.exe "/c handle.exe .d1 > C:\upf\logs\backup\handle.txt"
# starting at PS V3.0 we can also use the escape operator : --% ( will stop powershell resolving variables except cmd ones like %computername% )