Kuddel071089 9 Geschrieben 11. Januar 2016 Melden Teilen Geschrieben 11. Januar 2016 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\ Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 11. Januar 2016 Melden Teilen Geschrieben 11. Januar 2016 Moin, das Problem liegt in der unterschiedlichen Bildschirmbreite, wenn du die ISE oder die Konsole nutzt. Implizit passt die PowerShell die Ausgabe an, auch wenn du sie in eine Datei umleitest. http://poshoholic.com/2010/11/11/powershell-quick-tip-creating-wide-tables-with-powershell/ Gruß, Nils Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 11. Januar 2016 Autor Melden Teilen Geschrieben 11. Januar 2016 Ah okay, das ist einleuchtend. Also ist es besser, wenn man die Ausgabe direkt in eine Datei umleitet. Kann man den Pfad irgendwie per Dateibrowser auswählen oder muss man den Pfad zwingend eintippen ? Zitieren Link zu diesem Kommentar
daabm 1.366 Geschrieben 11. Januar 2016 Melden Teilen Geschrieben 11. Januar 2016 (bearbeitet) FT -AutoSizeGuck Dir mal "get-help format-table" genauer an... Damit beschnippelst Du den Output nämlich. Und den Dateiauswahl-Dialog - den hast Du doch in Deinem Code schon drin, oder sehe ich da was nicht? bearbeitet 11. Januar 2016 von daabm Zitieren Link zu diesem Kommentar
Beste Lösung Kuddel071089 9 Geschrieben 12. Januar 2016 Autor Beste Lösung Melden Teilen Geschrieben 12. Januar 2016 (bearbeitet) 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 12. Januar 2016 von Kuddel071089 Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 12. Januar 2016 Melden Teilen Geschrieben 12. Januar 2016 Moin, prima, danke für das Feedback! Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.