Skip to content

Instantly share code, notes, and snippets.

View kayasax's full-sized avatar

Loïc MICHEL kayasax

  • Microsoft
  • France
View GitHub Profile
@kayasax
kayasax / dateFormat.ps1
Last active November 10, 2016 15:00
Date format (to be used with -format parameter of get-date)
for filename use : (Get-Date -Format yyy-MM-dd-HHmm)
Specifier;Format;Sample Output
d;ShortDatePattern;8/30/2007
D;LongDatePattern;Thursday, August 30, 2007
f;Full date and time (long date and short time);Thursday, August 30, 20
F;FullDateTimePattern (long date and long time);Thursday, August 30, 2007 11:19:59 AM
g;General (short date and short time);8/30/2007 11:20 AM
G;General (short date and long time);8/30/2007 11:20:24 AM
m, M;MonthDayPattern;August 30
@kayasax
kayasax / getURLParameters.js
Created August 26, 2016 08:20
get URL parameters
var params={};window.location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(str,key,value){params[key] = value;});
@kayasax
kayasax / WMINamespace.ps1
Created August 17, 2016 06:14
listing WMI namespace
gwmi -namespace "root" -class "__Namespace" | Select Name
Be careful: There are TWO underscores in front of Namespace!
[Environment]::SetEnvironmentVariable("UPFRODCNAME", "RODC-VALAN", "machine")
@kayasax
kayasax / ADSI_group_membership.ps1
Created February 2, 2016 10:16
Get group membership with ADSI
([ADSI]"WinNT://$ip/$admingroup,group").psbase.Invoke("Members") |%{
$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)
}
@kayasax
kayasax / updateWMIProperty.ps1
Created January 7, 2016 14:35
modify wmi property. Key is to use [wmiobject].put() method source https://technet.microsoft.com/en-us/library/ee692805.aspx
$p=gwmi sms_packagebaseclass -Namespace root\sms\site_CT1 |?{$_.packageId -eq "CT1006FA"}
$p.Priority=2
$p.put()
@kayasax
kayasax / decrypt_securestring.ps1
Created September 30, 2015 06:50
decrypt a securestring
$p=read-host "password ?" -assecurestring
$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($p)
$clearpassword = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($Ptr)
[System.Runtime.InteropServices.Marshal]::ZeroFreeCoTaskMemUnicode($Ptr)
see more here
http://stackoverflow.com/questions/7468389/powershell-decode-system-security-securestring-to-readable-password
@kayasax
kayasax / registry.ps1
Last active December 19, 2016 13:10
Working in the registry with powershell. Link : https://technet.microsoft.com/fr-fr/library/dd315394.aspx
# for remote access use this
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $computer1)
$RegKey= $Reg.OpenSubKey("SOFTWARE\\Veritas\\NetBackup\\CurrentVersion")
$NetbackupVersion1 = $RegKey.GetValue("PackageVersion")
#If you want to set a value, use
$RegKey= $Reg.OpenSubKey("SOFTWARE\\Veritas\\NetBackup\\CurrentVersio‌​n",$true)
then regkey.setvalue("Name","Myvalue")
# to access a registry path without a psdrive (hklm: etc.) use the registry provider :
cd registry::\HKEY_USERS
@kayasax
kayasax / isVM.ps1
Last active September 15, 2015 08:31
Determine if powershell runs within a virtual machine.
function isVM{
(gwmi win32_bios).version -match "vrtual"
}
or (from http://www.windowsnetworking.com/kbase/WindowsTips/Windows7/AdminTips/VirtualPlatforms/UsingPowerShelltodeterminewhetherWindowsisrunninginavirtualmachine.html)
Function isVM {
$objWMI = Get-WmiObject Win32_BaseBoard
@kayasax
kayasax / calculatedProperty.ps1
Created September 9, 2015 13:52
Calculated property syntax
Get-ChildItem C:\Test | Select-Object Name, CreationTime, @{Name="Kbytes";Expression={$_.Length / 1Kb}}