View Powershell Script Template.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Templata.ps1 | |
# author: Loic MICHEL | |
# date: 10/09/2013 | |
# abstract: make all errors terminating errors and send email + raise event in case of failure | |
# | |
[CmdletBinding()]param( | |
) |
View SchedulerService.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# create task from its xml definition | |
$sch = New-Object -ComObject("Schedule.Service") | |
$sch.connect("computername") | |
$root=$sch.GetFolder("\") | |
$root.CreateFolder("subfolder") | |
$folder =$sch.GetFolder("\subfolder") | |
#import .xml | |
Get-childItem -path $task_path -Filter *.xml | %{ |
View parameters.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[CmdletBinding()] #make script react as cmdlet (-verbose etc..) | |
param( | |
[Parameter(Position=0, Mandatory=$true,ValueFromPipeline = $true)] | |
[ValidateNotNullOrEmpty()] | |
[System.String] | |
$service, | |
[Parameter(Position=1)] | |
[System.string] | |
$computername="local" |
View replace.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
View substring.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#exemple pour extraire une adresse IP | |
$ipaddress=[regex]::match($awsoutput,"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b").Value |
View array2csv.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$col=@() | |
#... | |
# 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 |
View CleanDir.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#combien d'éléments à sauvegarder ? | |
$limit=5 | |
ls $SourceDir |sort lastwritetime -desc |select -skip $limite # | remove-item |
View removeEmptyLines.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# some ways to remove empty lines when splitting strings | |
# for example | |
# $text = "Video Video Audio Audio VBI VBI" | |
# $text.Split() | |
# outputs this | |
# Video | |
# Video |
View parsingLines.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
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' ? | |
example | |
Name: ENC1 | |
IPv4 Address: 172.16.2.101 | |
Link Settings: Forced, 100 Mbit, Full Duplex | |
Name: ENC2 |
View legacyapps.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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% ) |
OlderNewer