2015-07-21 4 views
0

J'essaie d'utiliser Active Directory extensionAttributes pour garder une trace de certaines dates (comme la date de début, la date de fin, etc.) afin que je puisse déclencher certaines actions lorsque cette date se produit.Utilisation des dates dans extensionAttributes et Get-Date

Je rencontre un problème avec les différentes variantes dans lesquelles une date peut être entrée (M/J/AA, MM/JJ/AA, MM/JJ/AAAA, etc.). Par exemple, je peux utiliser Get-Date pour afficher un format M/D/YYYY, mais je rencontre des problèmes lorsque quelqu'un entre MM/JJ/AA.

Existe-t-il un moyen de faire en sorte que ce travail puisse accepter d'autres variations (tant que c'est mois/date/année)?

Voici quelques lignes du script en question. Cela s'exécute une fois par jour et recherche les nouveaux utilisateurs à partir du jour suivant.

$StartingOn = (Get-Date).AddDays(1).ToShortDateString() 

$NewUserCheck = Get-QADUser -DontUseDefaultIncludedProperties -IncludedProperties extensionAttribute11 | where { $_.extensionAttribute11 -eq $StartingOn } 

Remarquez comment il retourne aussi longtemps que la date correspond à la sortie Get-Date. C'était la seule façon de faire fonctionner ça correctement. Même à cela, si quelqu'un tapait le 20/07/15, la sortie ne retournerait rien.

Répondre

3

N'essayez pas de comparer des chaînes de date. Utilisez la comparaison DateTime qui ne se soucie pas de la mise en forme des détails, par exemple:

$StartingOn = (Get-Date).AddDays(1) 
$NewUserCheck = Get-QADUser -DontUseDefaultIncludedProperties -IncludedProperties extensionAttribute11 | 
    Where { [DateTime]($_.extensionAttribute11) -eq $StartingOn} 
+0

Intéressant. Merci pour l'aide. Cependant, j'ai reçu plusieurs "Impossible de convertir NULL en type" System.DateTime "Je ne suis pas sûr de ce que cela signifie exactement – user2184777

+0

n/m Je comprends le problème maintenant.Vous cherchez un moyen de contourner cela.Y at-il quelque chose que je peux ajouter dans ce – user2184777

+0

Où est le null? $ _ ou $ _. extensionAttributes11? –