Powershell - type accelerator
Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!
Bonjour,
Les types accelerators dans Powershell sont des alias pour des types ou classes .NET.
Leur utilisation peut permettre de raccourcir les syntaxes, de les simplifier et d’obtenir un gain de performance.
# Lister les types accelerators[PSObject].Assembly.GetType('System.Management.Automation.TypeAccelerators')::Get
## Quelques exemples d'utilisation
# Générer un identifiant[PSCredential]::New("titi", (ConvertTo-SecureString 'P@ssword' -AsPlainText -Force))# Equivalent de$password = ConvertTo-SecureString 'P@ssword' -AsPlainText -ForceNew-Object System.Management.Automation.PSCredential('titi', $password)
# Manipuler facilement une URL$url = [uri]"https://www.altf4-formation.fr/powershell"$url.host$url.localpath
# Vérifier un email, conversion en type [mailaddress][mailaddress]"test@test.com"
# Vérifier une adresse IP, conversion en type [ipaddress} :[IPAddress]'10.0.0.2'# Mais on se rend compte qu'il arrive à convertir aussi cette valeur :[IPAddress]'10.2'# On peut contrer le problème de cette manière$ip = '10.0.0.2'($ip -as [IPAddress]).IPAddressToString -eq $ip# "Equivalent" à l'expression régulière suivante :"255.25.190.241" -match "^([01]?\d?\d\.|2[0-4]\d\.|25[0-5]\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])$"
# Créer un objet personnalisé[PSCustomObject]@{Name='Guillaume';Age=25}[PSObject]@{Name='Guillaume';Age=25}# Equivalent de :New-Object PSObject -property @{Name='Guillaume';Age=25}
# Définir une durée (days, hours, minutes, seconds)$duree = [TimeSpan]::New(2, 10, 30, 40)# Equivalent de :new-timespan -Days 2 -Hours 10 -Minutes 30 -Seconds 40
# Convertir en date[DateTime]::Parse('2021-10-12')[DateTime]::Parse('12-10-2021')[DateTime]::Parse('10-12-2021')[DateTime]::Parse('10-12-2021',(get-culture))[DateTime]::Parse('10-12-2021',[cultureinfo]::GetCultureInfo('en-us'))[DateTime]::Parse('10-12-2021').ToString('yyyy_MM_dd')[DateTime]::Parse('10-12-2021').AddDays(8)[DateTime]::Parse('10-12-2021').AddDays(5).AddMonths(-3)[DateTime]::now
## WMI([WMICLASS]'Win32_Process').create("notepad.exe")# Equivalent(Get-WmiObject Win32_Process -List).create("notepad.exe")# ouGet-CimClass -ClassName Win32_Process |Invoke-CimMethod -MethodName create -Arguments @{CommandLine=’notepad.exe’}
# Requête WMI pour afficher le processus avec le PID 0 :[Wmi]"Win32_Process.Handle=0"
# Requête à distance :[WmiClass]"\\ordinateur_distant\root\cimv2:Win32_Process"
# Utilisation WQL (WMI Query Language) :([WmiSearcher]"SELECT * FROM Win32_Process").Get()
# Créer un type accelerator$Accelerateur = [PowerShell].Assembly.GetType("System.Management.Automation.TypeAccelerators")# Ajouter un type accelerator$Accelerateur::Add('resolve','System.Net.dns')# Utiliser le type accelerator[resolve]::GetHostAddresses('www.google.fr')
Information et liste des types accelerators :
https://docs.microsoft.com/fr-fr/powershell/module/microsoft.powershell.core/about/about_type_accelerators?view=powershell-7.1
Ou
https://gist.github.com/atifaziz/3074f15e816cf3566c0600dd6cdccf17
Liens en relation
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Tester la connectivité réseau et l'accessibilité aux ports avec PowershellPowershell - Afficher les connections réseau (équivalent de netstat)
Afficher les connections réseau (ports en écoute, connections actives...)Powershell - Tester la résolution de nom (équivalent de nslookup)
Commandes Powershell permettant de tester la résolution de nom (équivalent de nslookup)Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Commandes Powershell permettant d'afficher et de gérer la configuration DNS des interfaces réseauPowershell - Gérer la configuration IP des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier la configuration IP des interfaces réseauPowershell - Gérer l'état et la configuration des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier l'état et la configuration des interfaces réseau (désactiver l'IPv6, activer/désactiver une interface)
Suivez-moi sur
Soutenez-moi
Contenu récent
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Powershell - Afficher les connections réseau (équivalent de netstat)
Powershell - Tester la résolution de nom (équivalent de nslookup)
Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Powershell - Gérer la configuration IP des interfaces réseau
Powershell - Gérer l'état et la configuration des interfaces réseau
Powershell et le left hand side
Powershell - Gérer les disques, les partitions et les volumes
Powershell - Gérer les points de restauration système sous Windows