Jump to content

Unterschiedliches Verhalten von Powershell-Skript


Direkt zur Lösung Gelöst von Kuddel071089,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich habe mir ein Skript geschrieben, welches alle inaktiven Computerobjekte auflistet die älter als X Tage sind.

 

Führe ich das Skript in der ISE aus, ist die Ausgabe korrekt.

 

Ich habe mir eine Verknüpfung erstellt um das Skript per Doppelklick ausführen zu können.

 

Dann wird das Skript in der normalen Powershell.exe ausgeführt und dabei ist die AUsgabe nocht mehr korrekt da bei Längeren Einträgen die dem DistinguishedName einfach hinten etw. abgeschnitten wird.

 

Kennt jemand das Phänomen?

 

 

Danke schon einmal

 

 

Skript:

cls

$host.ui.RawUI.WindowTitle = "Auflistung alle inaktiven Computerobjekte v0.2"
 
Write-Host -ForegroundColor Yellow  "Bitte Zeitspanne für die Abfrage einebeben"

Write-Host

Write-Host -ForegroundColor Yellow "(in Tage - Format: XX z.B. 02 für 2 Tage): " -NoNewline

$DaysInactive = Read-Host

$time = (Get-Date).Adddays(-($DaysInactive))



if($DaysInactive -eq 0) {break}



Write-Host ""

Write-Host ""

Write-Host -ForegroundColor Cyan "Bitte Speicherort auswählen"

sleep 1

Write-Host ""



#Speicherort abfragen

Function Get-SaveFile($initialDirectory)

{

[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |

Out-Null



$SaveFileDialog = New-Object System.Windows.Forms.SaveFileDialog

$SaveFileDialog.initialDirectory = $initialDirectory

$SaveFileDialog.filter = "CSV-Datei (*.csv)| *.csv"

$SaveFileDialog.ShowDialog() | Out-Null

$SaveFileDialog.filename

}





# open dialog box to select the .nessuss file.

$OutputFile = Get-SaveFile



Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp,operatingSystem,DistinguishedName | Sort-Object | select-object Name,@{Name="lastLogonTimestamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}},operatingSystem,DistinguishedName | FT -AutoSize | Out-File "$outputFile" -Append

Verknüpfung:

Ziel: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "& '\\xxx\yyy\zzz\Abfrage AD inaktive ComputerObjekte.v0.2.ps1'"
Ausführen in: C:\Windows\System32\WindowsPowerShell\v1.0\
Link zu diesem Kommentar
  • Beste Lösung

Mit

FT -wrap -autosize

wird nichts mehr abgeschnitten

 

 

EDIT:

 

Ich habe das Ganze jetzt doch anders gelöst, was ich sogar noch viel besser finde:

Get-ADComputer -Filter {LastLogonTimeStamp -lt $time} -Properties LastLogonTimeStamp,operatingSystem,DistinguishedName | Sort-Object | select-object Name,@{Name="lastLogonTimestamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}},operatingSystem, DistinguishedName | export-csv -Delimiter ";" -path "$outputFile"
bearbeitet von Kuddel071089
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...