Get-date
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Cmdlet | Get-Date
|
| Domaine | Manipulation des dates et heures |
| Voir aussi | Calendrier.ps1 |
Get-Date renvoie un objet DateTime représentant la date et l'heure
courantes, et sert de base à toute manipulation temporelle.
(Get-Date).GetType()
Manipulation
Get-Date | Get-Member -Force
(Get-Date).get_Minute()
Formats
(Get-Date).GetDateTimeFormats() | Sort-Object -Unique
# Formats standard
# d : date courte D : date longue
# f : longue + h.abrég F : longue + h.complète
# g : courte + h.abrég G : courte + h.complète
# m,M : mois/jour r,R : RFC
# s : triée t : heure abrégée T : heure complète
# u : universelle U : universelle long y,Y : mois année
Get-Date -Format r
Format personnalisé : d/dd/ddd/dddd (jour), M/MM/MMM/MMMM (mois),
y/yy/yyyy (année), h/hh/H/HH (heure), m/mm (minute),
f...ffff (fractions de seconde).
Nommer un fichier avec la date
New-Item -Type file -Name "Rapport_$(Get-Date -Format 'dd-MM-yyyy').txt"
# Format UNIX
Get-Date -UFormat 'Nous sommes le %a %d %Y, et il est %T'
Gestion en variable
$date = Get-Date -Year 2008 -Month 2 -Day 10
$date = Get-Date
$date.AddYears(1).DayOfWeek
$date = [DateTime]'10/03/1974'
$date.DayOfWeek
Comparaison
# Résultat en booléen
$d1 = (Get-Item fichier_1.txt).getCreationTime()
$d2 = (Get-Item fichier_2.txt).getCreationTime()
$d1.CompareTo($d2)
# Résultat en durée
New-TimeSpan $(Get-Date -Year 1985 -Month 10 -Day 6 -Hour 8 -Minute 30) $(Get-Date)
(New-TimeSpan $(Get-Date -Year 1985 -Month 10 -Day 6) $(Get-Date)).TotalSeconds
Modifier la date d'un fichier
$DateChoisie = (Get-Date -Year 1998 -Month 12 -Day 8 -Hour 5 -Minute 18 -Second 56)
$fic = Get-Item ./fichier.txt
$fic.Set_CreationTime($DateChoisie)
$fic.Set_LastAccessTime($DateChoisie)
Dates Active Directory
Active Directory stocke les dates en ticks (dix-millionièmes de seconde) depuis le 1er janvier 1601 à 0h00 (calendrier grégorien).
# Dernière connexion des utilisateurs
$ldapQuery = '(&(objectCategory=user))'
$de = New-Object System.DirectoryServices.DirectoryEntry
$ads = New-Object System.DirectoryServices.DirectorySearcher -ArgumentList $de,$ldapQuery
$complist = $ads.FindAll()
ForEach ($i in $complist) {
$LastLogon = $i.Properties['lastlogon']
$LastLogon = [int64]::Parse($LastLogon)
# Date d'origine 1/1/1601 + ajout des ticks
$date = (Get-Date -Year 1601 -Month 1 -Day 1 -Hour 0 -Minute 0 -Second 0)
$date_derniere_connexion = $date.AddTicks($LastLogon)
Write-Host $i.Properties['name'] ": $date_derniere_connexion"
}