PS Skript Hilfe
Hallo Zusammen,
ich habe ein kleines Problem. Ich bin blutiger Anfänger in Skripting. Ich kann PS Skripte lesen und anpassen, vom schreiben bin ich jedoch weit entfernt.
Ich beginne gerade zu lernen stehe aber aktuell vor einer Anfrage welche ich bis nächte Woche brauche. Vielleicht könnt Ihr mir ja helfen.
Ich brauche ein Skript welches ein DATUM aus einem LDAP Feld auslesen kann. (Womöglich mit einer if / else verzweigung).
Zwei Szenarien sollen daraus entstehen. Liegt das Datum im aktuellen oder in vergangenen Monat im aktuellen Jahr 2020 dann soll er mehrerre Anweisungen ausführen.
Liegt das Datum in der Zukunft also im Monat November oder in weiterer Zukunft dann soll er andere anweisungen ausführen.
Wichtig dabei wäre das er nicht 30 Tage hoch rechnet sondern wirklich nur den aktuellen Monat + Jahr honoriert.
Ich würde mich freuen wenn Ihr mit helfen könntet.
Ich würde natürlich auch hierfür bezahlen.
Danke!
ich habe ein kleines Problem. Ich bin blutiger Anfänger in Skripting. Ich kann PS Skripte lesen und anpassen, vom schreiben bin ich jedoch weit entfernt.
Ich beginne gerade zu lernen stehe aber aktuell vor einer Anfrage welche ich bis nächte Woche brauche. Vielleicht könnt Ihr mir ja helfen.
Ich brauche ein Skript welches ein DATUM aus einem LDAP Feld auslesen kann. (Womöglich mit einer if / else verzweigung).
Zwei Szenarien sollen daraus entstehen. Liegt das Datum im aktuellen oder in vergangenen Monat im aktuellen Jahr 2020 dann soll er mehrerre Anweisungen ausführen.
Liegt das Datum in der Zukunft also im Monat November oder in weiterer Zukunft dann soll er andere anweisungen ausführen.
Wichtig dabei wäre das er nicht 30 Tage hoch rechnet sondern wirklich nur den aktuellen Monat + Jahr honoriert.
Ich würde mich freuen wenn Ihr mit helfen könntet.
Ich würde natürlich auch hierfür bezahlen.
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 609907
Url: https://administrator.de/contentid/609907
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Wie ist das Datum den in dem LDAP Feld denn aufgebaut (Format)?
Hier ein Beispiel für deine gewünschte Berechnung
https://tio.run/##NcpBCsIwEIXhfU8xFKHJIiXp3oXQbU8gLoIZm0DaSDMiIt6mN@nB4o ...
LDAP Feld kannst du so auslesen
Einfach damit die Variable füllen und in ein Datumsobject umwandeln.
Fürs Umwandeln gibt es Funktionen wie [Datetime]::Parse() oder auch
[Datetime]::ParseExact()
Hier ein Beispiel für deine gewünschte Berechnung
https://tio.run/##NcpBCsIwEIXhfU8xFKHJIiXp3oXQbU8gLoIZm0DaSDMiIt6mN@nB4o ...
LDAP Feld kannst du so auslesen
(Get-Aduser MaxMuster -Properties "deinLdapFeld").deinLdapFeld
Fürs Umwandeln gibt es Funktionen wie [Datetime]::Parse() oder auch
[Datetime]::ParseExact()
Na dann
$ldapDatum = (Get-Aduser MaxMuster -Properties "deinLdapFeld").deinLdapFeld
$d = [datetime]::minvalue
if([datetime]::TryParse($ldapDatum,[cultureinfo]"de",'None',[ref]$d)){
if($d -ge (get-date -Day 1).Date.AddMonths(1)){
"nächster Monat"
}elseif($d -ge (get-date -Day 1).Date.AddMonths(-1)){
"dieser Monat oder letzter Monat"
}else{
"Noch älter"
}
}else{
Write-Error -Message "Ungültiges Datum."
}
Hi
unter der Annahme das du das Datumsfeld nachher als String aus dem AD bekommst:
[EDIT] Angepasst um den "Ist in der Zukunft" Part
unter der Annahme das du das Datumsfeld nachher als String aus dem AD bekommst:
[string] $ADdatum = "03.08.2020"
[datetime]$datum = [datetime]::parseexact($ADDatum, 'dd.MM.yyyy', $null)
Write-Host "Monat: $($datum.Month)"
If($datum.Year -eq (Get-Date).Year -and
($datum.Month -eq (Get-Date).Month -or $datum.Month -eq (Get-Date).Month-1) ){
Write-Host "Ist im Zeitraum aktueller oder letzter Monat "
} else {
If($datum -ge (Get-Date -Day 1).AddMonths(1)){
Write-Host "Ist mindestens im nächsten Monat"
}
}
[EDIT] Angepasst um den "Ist in der Zukunft" Part