Question conditionner le accounexpirationdate

Plus d'informations
il y a 1 an 9 mois #32312 par stephane
Bonjour,

Je dois modifier un script dont je ne suis pas l'auteur, qui est un peu trop fin pour mon petit niveau.

Ce script récupère des infos dans une table sql (liée a un ERP) ou il y a des infos employés.
J'ai un petit blocage aujourd'hui c'est que le coté cdi n'est pas pris en compte.
De fait si je met dans l'ERP une date de fin de contrat au 31/05, il va appliquer cette date sur l'expiration du compte dans Active Directory.
Mais rien pour la case vide.

Voilà ce à quoi j'ai pensé (je met qu'un morceau du script) en souligné:

 $ZeroDate = Get-Date -Day 1 -Month 1 -Year 1990 -Hour 0 -Minute 0 -Second 1
 
 If ($doChangeExpiry) {
                $isChanged = $True
                $EmployeeChange = [Change]::new()
                $EmployeeChange.Key = 'AccountExpirationDate'
                $EmployeeChange.Employee = $Employee
                $EmployeeChange.NewValue = $Employee.TerminationDate
                $EmployeeChange.OldValue = $ADUser.AccountExpirationDate
                $ChangeLog.Add($EmployeeChange)
            } Else {
                $Employee.TerminationDate = $ZeroDate
            }
            ElseIf ($Employee.TerminationDate  -lt $ZeroDate) {
            $Employee.TerminationDate= Clear-ADAccountExpiration

            
            }
            

J'ai pensé a utiliser la fonction nullorempty mais je ne la comprends pas vraiment et du coup elle est en erreur.

$ZeroDate = Get-Date -Day 1 -Month 1 -Year 1990 -Hour 0 -Minute 0 -Second 1

$test = ""


if ($test::IsNullOrEmpty($ZeroDate)) 
{
    Write-host " nulle ou vide."
}


Si vous avez quelques idées pour m'aider, ca serait sympa ;)

Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 9 mois #32315 par Laurent Dardenne
Salut
je n'ai pas trop compris ton pb, mais pour la méthode IsNullOrEmpty il s'agit d'une méthode statique (accessible en PS via deux points '::').
On utilise une méthode statique à partir d'un nom de classe, ici [String].
[string]::IsNullOrEmpty($zerodate)
Ensuite si tu utilises des données issues d'une requête SQL tu peux avoir à gérer la valeur [DBNull]::Value.
Vérifie avec le cmdlet get-member la structure des données que tu reçois.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.063 secondes
Propulsé par Kunena