Skip to content

Instantly share code, notes, and snippets.

View kayasax's full-sized avatar

Loïc MICHEL kayasax

  • Microsoft
  • France
View GitHub Profile
function get-hotfix2{
param($computername)
#$PSBOundParameters
Get-HotFix @PSBOundParameters |
Select-Object description,hotfixid,installedby, @{l="InstalledOn";e={[DateTime]::Parse($_.psbase.properties["installedon"].value,$([System.Globalization.CultureInfo]::GetCultureInfo("en-US")))}}
}
-f Format operator
Format a string expression.
Syntax:
"String with placeholders" -f "Array of values to place into the placeholders"
'Filename: {0} Created: {1}' -f $_.fullname,$_.creationtime
"{I,A:FS} {I,A:FS} {I,A:FS}.." -f "string0", "string1", "string2"...
@kayasax
kayasax / sccm.ps1
Last active August 29, 2015 14:22
powershell SCCM automation
$UIResource = New-Object -ComObject UIResource.UIResourceMgr
#list available software
$UIResource.GetAvailableApplications() | select ID,PackageID,PackageName
#install a soft
$UIResource.ExecuteProgram('*','CT1005EE',$true) # ID, PackageID, execute after download
@kayasax
kayasax / callURL.ps1
Created May 21, 2015 06:30
équivalent de invoke-webrequest pour powershell V2.
$string="http://server/app/index.php?var=val1&var2={0}" -f $event.providerName
(New-Object System.Net.WebClient).DownloadString("$string");
@kayasax
kayasax / remoteUninstall.ps1
Created May 7, 2015 12:14
remotely uninstall software
Hi,
Please try below code:
$app = Get-WmiObject -Class Win32_Product | Where-Object {
$_.Name -match "Software Name"
}
$app.Uninstall()
Please use invoke-command above code to run them on the remote computer, in addition, the below article should be helpful:
Use PowerShell to Find and Uninstall Software
http://blogs.technet.com/b/heyscriptingguy/archive/2011/12/14/use-powershell-to-find-and-uninstall-software.aspx
wershell: Uninstall software on remote computer
@kayasax
kayasax / get-mailboxFolders.ps1
Created May 5, 2015 09:37
Afficher la liste des dossiers outlook ou trouver le chemin d'accès d'un dossier particulier
# SMAC - LM - 05/05/2015
<#
.Synopsis
Recherche des dossiers dans outlook
Si un nom de dossier est passé en paramètre le script affichera son chemin d'accès,
Si aucun nom n'est fourni, le script liste tous les dossiers outlook
.Description
Utilisation de l'objet COM outlook afin de parcourir les dossiers.
@kayasax
kayasax / RemoveMultiSpace.ps1
Created April 29, 2015 10:25
Supprimer les espaces inutiles. Ce code permet de supprimer les successions de 2 espaces ou plus (\s+) en regex
$text –replace ‘\s+ ‘, ‘ ’
@kayasax
kayasax / legacyapps.ps1
Created April 29, 2015 10:21
Lancer des exécutables DOS depuis powershell
# 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% )
@kayasax
kayasax / parsingLines.ps1
Created April 29, 2015 10:19
Comment parser un fichier organisé "en lignes" plutôt qu'en "colonnes"
<#
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
@kayasax
kayasax / removeEmptyLines.ps1
Created April 29, 2015 10:16
Suppression de lignes vides après un split
# some ways to remove empty lines when splitting strings
# for example
# $text = "Video Video Audio Audio VBI VBI"
# $text.Split()
# outputs this
# Video
# Video