Matze1708 10 Geschrieben 12. Mai 2016 Melden Geschrieben 12. Mai 2016 Hallo zusammen, ich möchte eine Möglichkeit haben, Dateien mit einer gewissen Endung .dll .exe etc aufgelistet zu bekommen. Das Skript sollte auf allen Systemen ab Win7 lauffähig sein. Es sollen alle PLatten durchsucht werden die auf dem jeweiligen Rechner verfügbar sind. Ich möchte dann eine Ausgabe haben, die etwas strukturiert ist, habe das was gelesen mit Format Table. etc. Das Skript möchte ich auf einem USB Stick liegen haben und es von dort öffnen können. Habe jetzt nur was in dieser Art gefunden: gci H: –Recurse Where-Object {$_.Extension -eq ".accdb"} Format-Table FullName, CreationTime, Length jedoch bekomme ich dann so einen Fehler: Get-ChildItem : Es wurde kein Positionsparameter gefunden, der das Argument "$_.Extension -eq "*.accdb"" akzeptiert.
tesso 384 Geschrieben 12. Mai 2016 Melden Geschrieben 12. Mai 2016 Dir fehlen die Pipes. Get-ChildItem j: –Recurse | Where-Object {$_.Extension -eq ".accdb"} | Format-Table FullName, CreationTime, Length
massaraksch 41 Geschrieben 12. Mai 2016 Melden Geschrieben 12. Mai 2016 Hi, mit "Where" würde ich bei sowas nicht arbeiten. Ein direkter Filter mittels INCLUDE sollte schneller sein: gci H:\ -Recurse -Force -Include *.accdb -ErrorAction SilentlyContinue | Format-Table FullName,CreationTime,Length PS: Mit "-Force" bekommst du auch versteckte (hidden) Dateien. "-ErrorAction SilentlyContinue" muß nicht sein, es verhindert aber die störende Anzeige eventueller Fehlermeldungen, falls auf bestimmte Verzeichnisse nicht zugegriffen werden kann.
daabm 1.428 Geschrieben 13. Mai 2016 Melden Geschrieben 13. Mai 2016 mit "Where" würde ich bei sowas nicht arbeiten. Ein direkter Filter mittels INCLUDE sollte schneller sein: ACK - filtern immer so weit am Beginn der Pipeline (also links) wie möglich
Matze1708 10 Geschrieben 13. Mai 2016 Autor Melden Geschrieben 13. Mai 2016 (bearbeitet) Hey, mein Code sieht mittlerweile so aus: Clear-Host $Location = "H:" $Output = "$env:userprofile\MPA-Check.txt" $Dir = Get-ChildItem -path $Location -Recurse -force -Include *.knx*,*e6? -ErrorAction SilentlyContinue $List = $Dir $List | Format-Table Name, Fullname, CreationTime, Lastaccesstime -Auto | Out-File $Output Invoke-Item $Output Mit welcher Option schaue ich über alle logischen Laufwerke auf dem System? Ohne -path läuft es nicht und mit kann ich nicht variabel bleiben. bearbeitet 13. Mai 2016 von Matze1708
massaraksch 41 Geschrieben 13. Mai 2016 Melden Geschrieben 13. Mai 2016 Hi, Möglichkeiten: Get-WmiObject win32_volume | ? { $_.DriveType -eq 3 } | select Name [System.IO.DriveInfo]::getdrives() | ? { $_.DriveType -eq 'Fixed' } | select Name Damit ginge z.b. sowas in der Richtung: $drives = Get-WmiObject win32_volume | ? { $_.DriveType -eq 3 } foreach ($d in $drives) { gci $d.name #weitere Befehle }
Dukel 468 Geschrieben 13. Mai 2016 Melden Geschrieben 13. Mai 2016 Get-PSDrive -PSProvider Filesystem
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