Jump to content

Powershell CSV oder (besser) html Export aus Script


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich möchte gerne per Powershell auslesen, welche Passworter in den nächsten 10 Tagen ablaufen. Ich habe ein Script gefunden, welches auf der Shell gut läuf (siehe unten).

Ich habe dies auf eine bestimmt OU beschränkt und mir nur die roten (die die ablaufen) anzeigen lassen.

Jetzt würde ich dies gerne noch exportieren (wenn es geht in eine HTML Datei).

Hier suche ich jetzt schon stundenlan nach einer Löung, finde aber nichts vernünftiges.

Entweder gibt er mir ganichts raus oder alle User.

Eine (nicht schöne Lösung bekommt man , indem man write-hoste in write-output ändert und in der Befehlzeile GetPWExpireFromAD.ps1  | Out-File d:/output.csv eingibt.

Da kommt aber eine ganz schlechte Formatierung raus.

Ich komme einfach nicht weiter.

Tiefe Kenntnisse in PowerShell habe ich leider (noch) nicht.

Vielelicht kann mir ja einer da weiterhelfen.

Schon mal Danke dafür!!!!

 

 

########################################################
#Name: GetPWExpireFromAD.ps1                           #
#Creator: Michael Seidl aka Techguy                    #
#CreationDate: 27.11.2013                              #
#LastModified:27.11.2013                               #
#Version: 1.0                                          #
#Short Description:                                    #
#Doc: http://www.techguy.at/tag/getpwexpirefromad/    #
########################################################
#www.techguy.at                                        #
#www.facebook.com/TechguyAT                            #
#www.twitter.com/TechguyAT                             #
#michael@techguy.at                                    #
########################################################


#Import Active Directory Module
Import-Module ActiveDirectory

#Day of Span
$Days="10"

#Settings
$Date=Get-Date -Format yyyy-MM-dd((Get-Date).adddays($Days))
$Users=Get-ADUser -filter {(Enabled -eq $True) -and (PasswordNeverExpires -eq $False)} -SearchBase "OU=xxx-me,DC=xxx,DC=xxx" -Properties DisplayName, msDS-UserPasswordExpiryTimeComputed, Mail | Where-Object {$_.DisplayName -ne $null} | Select Mail, DisplayName,@{Name="ExpiryDate";Expression={([datetime]::fromfiletime($_."msDS-UserPasswordExpiryTimeComputed")).DateTime}}

#Magic
foreach ($Entry in $Users) {
    $EntryDate = Get-date($Entry.ExpiryDate) -Format yyyy-MM-dd
    if ($EntryDate -lt $Date) {
        Write-Host "Alarm: The User" $entry.DisplayName "with Mailaddress:" $Entry.Mail "will expire at" $EntryDate -ForegroundColor Red
    }
    else
    {
        Write-host "OK: The User" $entry.DisplayName "with Mailaddress:" $Entry.Mail "will expire at" $EntryDate -ForegroundColor green
    }
}
 

Link zu diesem Kommentar

Moin,

 

der einfachste Weg ist i.d.R. tatsächlich, die Ausgabefunktion in Out-File umzuändern und die nötigen HTML-Tags in die Ausgabestrings mit einzuarbeiten.

 

Beispiel:

$OutputFile = 'C:\Pfad\Datei.html'
'<html><body><table>' | Out-File $OutputFile

[...]

if ($EntryDate -lt $Date) {
        "<tr><td>Alarm</td><td>" $entry.DisplayName "</td><td>" $Entry.Mail "</td><td>" $EntryDate "</td></tr>" | Out-File $OutputFile
    }
    else
    {
        "<tr><td>OK</td><td>" $entry.DisplayName "</td><td>" $Entry.Mail "</td><td>" $EntryDate "</td></tr>" | Out-File $OutputFile
    }

[... unten nach der Schleife]
'</table></body><html>' | Out-File $OutputFile

Ungetestet.

 

Gruß, Nils

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...