Kuddel071089 9 Geschrieben 11. Januar 2016 Melden 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\
NilsK 3.046 Geschrieben 11. Januar 2016 Melden 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
Kuddel071089 9 Geschrieben 11. Januar 2016 Autor Melden 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 ?
daabm 1.431 Geschrieben 11. Januar 2016 Melden 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
Beste Lösung Kuddel071089 9 Geschrieben 12. Januar 2016 Autor Beste Lösung Melden 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
NilsK 3.046 Geschrieben 12. Januar 2016 Melden Geschrieben 12. Januar 2016 Moin, prima, danke für das Feedback! Gruß, Nils
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden