none
Export .xls Datei RRS feed

  • Frage

  • Hallo zusammen, ich würde mir gerne eine .xls Datei ausgeben lassen, leider wird aber alles in einer Spalte angezeigt.

    Unten seht ihr meinen Programmcode:

    get-childitem -path "c:\Program Files\*.exe" -recurse | format-table name,creationtime,lastwritetime -AutoSize | out-file c:\users\**\desktop\Results1.xls

    Könnt ihr mir helfen, sodass ich die Daten in Spalten für name / creationtime / lastwritetime angezeigt bekomme?!

    Der weitere Schritt ist, die Daten in eine Datenbank zu schreiben.

    Vielen Dank!

    Montag, 7. März 2016 07:38

Antworten

  • Moin,
    mach es am einfachsten mit Export-CSV.

    get-childitem -path "c:\Program Files\*.exe" -recurse | select name,creationtime,lastwritetime | Export-Csv -path c:\users\**\desktop\Results1.csv -Encoding UTF8 -Delimiter ";" -NoTypeInformation

    Format Table brauchst du nur, wenn du etwas in eine TXT oder in der Console ausgeben willst. Also wähle dir erstmal alle Parameter aus die du haben willst (select) und exportiere die dann in eine csv, welche du einfach in Excel weiterbearbeiten kannst. Die Parameter Encoding  und NotypeInfomationen erzielen, dass umlaute korrekt angezeigt werden und du keine csv Informationen im Tabellenkopf hast.
    Wenn du noch mehr in Excel machen willst, schau dir am besten den Link an:
    PowerShell - Excel

    Grüße Andy

    • Als Antwort vorgeschlagen TechnikSC885 Montag, 7. März 2016 08:23
    • Als Antwort markiert Jäcksn Montag, 7. März 2016 09:01
    Montag, 7. März 2016 08:13
  • Hallo Jäcksn,

    get-childitem -path 'C:\Program Files','C:\Program Files (x86)' -Filter *.exe -recurse| Select-Object name,creationtime,lastwritetime |Export-Csv -Path c:\temp\diesollessein.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8

    Was meinst du damit, dass nicht mehr alle Exe'n ausgegeben werden?


    Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!


    • Bearbeitet tonibert Montag, 7. März 2016 09:23
    • Als Antwort markiert Jäcksn Montag, 7. März 2016 09:34
    Montag, 7. März 2016 09:22

Alle Antworten

  • Moin,
    mach es am einfachsten mit Export-CSV.

    get-childitem -path "c:\Program Files\*.exe" -recurse | select name,creationtime,lastwritetime | Export-Csv -path c:\users\**\desktop\Results1.csv -Encoding UTF8 -Delimiter ";" -NoTypeInformation

    Format Table brauchst du nur, wenn du etwas in eine TXT oder in der Console ausgeben willst. Also wähle dir erstmal alle Parameter aus die du haben willst (select) und exportiere die dann in eine csv, welche du einfach in Excel weiterbearbeiten kannst. Die Parameter Encoding  und NotypeInfomationen erzielen, dass umlaute korrekt angezeigt werden und du keine csv Informationen im Tabellenkopf hast.
    Wenn du noch mehr in Excel machen willst, schau dir am besten den Link an:
    PowerShell - Excel

    Grüße Andy

    • Als Antwort vorgeschlagen TechnikSC885 Montag, 7. März 2016 08:23
    • Als Antwort markiert Jäcksn Montag, 7. März 2016 09:01
    Montag, 7. März 2016 08:13
  • Hallo,

    get-childitem -path "c:\Program Files\" -Filter *.exe -recurse | Select-Object name,creationtime,lastwritetime|Export-Csv -Path c:\temp\diesollessein.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8 

    EDIT:Ohh, ich war etwas zu spät dran.Den Rest hat Andy bereits geschrieben!


    Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!



    Montag, 7. März 2016 08:22
  • Danke für die schnelle Antwort!

    Jetzt bekomme ich aber leider nicht alle .exe Dateien ausgegeben.

    Außerdem müsste ich auch die Programme aus: C:\Program Files (x86) ausgegeben bekommen.

    Kannst du mir nochmal helfen?

    Vielen Dank im Voraus!

    Montag, 7. März 2016 09:14
  • Hallo Jäcksn,

    get-childitem -path 'C:\Program Files','C:\Program Files (x86)' -Filter *.exe -recurse| Select-Object name,creationtime,lastwritetime |Export-Csv -Path c:\temp\diesollessein.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8

    Was meinst du damit, dass nicht mehr alle Exe'n ausgegeben werden?


    Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!


    • Bearbeitet tonibert Montag, 7. März 2016 09:23
    • Als Antwort markiert Jäcksn Montag, 7. März 2016 09:34
    Montag, 7. März 2016 09:22
  • Hey,

    es geht sich darum zu schauen, wann das letzte mal die auf der Workstation installierten Programm ausgeführt wurden. Jetzt habe ich aber ein Programm, welches den Zugriff verweigert mit folgende Fehler-Ausgabe:

    Get-ChildItem : Der Zugriff auf den Pfad "C:\Program Files (x86)\Novell\ZENworks\cache" wurde verweigert.In C:\Users\+++\Versuch1.ps1:10
    Zeichen:1
    + get-childitem -path 'C:\Program Files','C:\Program Files (x86)' -Filter *.exe -r ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (C:\Program File...\ZENworks\cache:String) [Get-ChildItem], UnauthorizedAccessException
        + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

    Kannst du hier auch weiter helfen?

    Montag, 7. März 2016 09:33
  • Na scheinbar fehlen dir die Rechte!

    Führst du die Abfrage mit administrativen Rechten aus?


    Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!

    Montag, 7. März 2016 10:14
  • Ja, ich führe die PowerShell ISE als Administrator aus.

    Sorry für die vielen Fragen und Probleme bin noch ein Neuling in Sache Powershell.

    Gruß

    Jäcksn

    Montag, 7. März 2016 10:19
  • Ist das der einzige der nicht funkitoniert?

    Eventuell ist das hier oder hier beschrieben

    Edit: Was für eine PS Version hast du im Einsatz?

    get-host

    Zeigt es dir an.

    hier

    hatte jemand auch ein Problem mit einer älteren Version von PS


    Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!


    • Bearbeitet tonibert Montag, 7. März 2016 10:50
    Montag, 7. März 2016 10:45
  • Es wird nur das eine als Fehler angezeigt.

    Aktuell benutze ich die Version 4.0

    Grüße

    Jäcksn

    Montag, 7. März 2016 11:54
  • Hallo tonibert,

    ich habe noch eine andere Frage, ich habe gerade gesehen, dass mit einem WIN_32SoftwareFeature die Möglichkeit hat, LastUse zu benutzen.

    Das wäre ja dann glaub ich die bessere Variante, oder?

    Wenn ja, wie würde ich das dann benutzen?

    Viele Grüße

    Jäcksn




    • Bearbeitet Jäcksn Donnerstag, 10. März 2016 13:34
    Montag, 7. März 2016 14:26
  • Hallo Jäcksn,

    das kenne ich leider nicht!


    Gruß Toni! Wenn Dir meine Antwort hilft, markiere sie bitte als Antwort! Vielen Dank!

    Dienstag, 8. März 2016 07:09