Busfan 1 Geschrieben 19. November 2019 Autor Melden Teilen Geschrieben 19. November 2019 vor 9 Stunden schrieb BOfH_666: .. und das siehst Du an den neu angelegten bzw. angewachsenen Dateien? Wie so häufig hier im Scripting Forum, ist das eigentliche Problem nicht ein Script oder ein Befehl, der nicht wie gewünscht, bzw. wie erwartet funktioniert. Das Problem ist das Unverständnis bzw. die Unkenntnis der gemanagten Systeme. Was ist denn Deine eigentliche Aufgabenstellung? Was machst Du denn mit der Information, wer das Fileshare gefüllt hat? Wird derjenige entlassen? Werden seine Daten wieder gelöscht? Ist diese Datenerhebung mit dem Betriebsrat abgestimmt? Ich arbeite seit 2 Wochen an dem System hier. Das Fileshare ist gut 10TB groß und wir rapide zugemüllt (aktuell nur mehr 200GB frei und täglich wird es weniger) Ja ich sehe welche Abteilung das Share anfüllt wenn große Datenmengen einem bestimmten Ordner hinzugefügt werden. Warum sollte jemand entlassen werden und was hat das mit dem Betriebsrat zu tun? - das sind schon eigenwillige Aussagen. Einige User füllen ein Produktivlaufwerk mit privaten Videos und mp3s an und in den IT-Richtlinien ist dies ausdrücklich untersagt - business as usual... Ich würde eben nur gerne wissen welche Files in einem bestimmten Zeitraum mit bestimmter Größe hinzugefügt werden. Prinzipiell habe ich das auch erreicht mit dem Oneliner oben, nur kann ich den Zeitraum noch nicht eingrenzen. Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 19. November 2019 Melden Teilen Geschrieben 19. November 2019 https://www.jam-software.de/spaceobserver/ Kannst du nach Videos und MP3s suchen und diese Personen informieren, dass diese Dateien nichts da zu suchen haben? Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 19. November 2019 Melden Teilen Geschrieben 19. November 2019 (bearbeitet) vor 5 Stunden schrieb Busfan: Prinzipiell habe ich das auch erreicht mit dem Oneliner oben, nur kann ich den Zeitraum noch nicht eingrenzen. Wenn Du mit Get-ChildItem ein DateiSystemInfoObject erzeugst, hat dieses auch Eigenschaften wie CreationTime, LastAccessTime und LastWriteTime. Die müsstest Du auswerten, um an die gewünschten Informationen zu kommen. Ich würde mit der CreationTime beginnen. Unabhängig davon möchte ich Dir empfehlen, Dir die Grundlagen von Powershell anzueignen. Es gibt gute Bücher oder Online-Tutorials oder sogar kostenlose Video-Kurse wie der vom Erfinder auf Channel9. https://channel9.msdn.com/Series/GetStartedPowerShell3 bearbeitet 19. November 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
Busfan 1 Geschrieben 21. November 2019 Autor Melden Teilen Geschrieben 21. November 2019 gci \\xxx\xxx -r| sort -descending -property creationtime | where length -gt 1000000| select name, @{Name="Gigabytes";Expression={[Math]::round($_.length / 1MB, 2)}} So hab ich es dann gemacht, nur der Parameter um den Zeitraum einzugrenzen konnte ich nicht anhängen. LG Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 21. November 2019 Melden Teilen Geschrieben 21. November 2019 (bearbeitet) vor 6 Stunden schrieb Busfan: So hab ich es dann gemacht, nur der Parameter um den Zeitraum einzugrenzen konnte ich nicht anhängen. OK, dann jetzt noch eine weitere dringende Empfehlung. Wenn Du Powershell-Code schreibst, tu Dir selbst, Deinen Kollegen und speziell den Menschen in Foren, die Dir helfen sollen, einen Gefallen und schreib Deinen Code so ausführlich, wie es irgendwie geht. Aliasse und z.B. Variablennamen mit einem Buchstaben sind wenig hilfreich. Wenn sich jemand anders Deinen Code ansehen soll, soll er den Code doch so schnell und leicht wie möglich verstehen können. ... und in einem halben Jahr bist dann auch Du ein Anderer und überlegst, "... was hab ich da nur geschrieben?". So - jetzt zum Code ... so sieht das deutlich besser aus und wenn Du das brauchst, kannst Du mehrere Bedingungen in einem Where-Object-Scriptblock kombinieren ... so ungefähr: $Gestern = (Get-Date).AddDays(-1) Get-ChildItem -Path \\xxx\xxx -Recurse | Sort-Object -Descending -Property CreationTime | Where-Object { $PSItem.length -gt 1MB -and $PSItem.CreationTime -gt $Gestern } | Select-Object -Property name, @{Name = "Megabytes"; Expression = { [Math]::round($PSItem.length / 1MB, 2)}} Und noch mal aus Neugier: Dateien größer 1 MB gelten bereits als groß? bearbeitet 21. November 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
Busfan 1 Geschrieben 21. November 2019 Autor Melden Teilen Geschrieben 21. November 2019 @BOfH_666 danke für deinen Input, und ja du hast recht... Ich bin reuig jetzt wo ich deinen formatierten Code sehe....... Mit den 1MB wollte ich nur mal schnell die kleinen Files ausblenden. Ich habe den Wert ein paar mal angepasst bis das Ergebnis für mich passte. PowerShell lernen ist nicht einfach wenn man niemanden in der Firma hat der sich groß dafür interessiert. Und alles im Selbststudium übers Netz lernen ist auch nicht so einfach...Ich bin leider der einzige bei uns der der Meinung ist, das ohne Powershell vieles jetzt schon nicht mehr möglich ist... Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 22. November 2019 Melden Teilen Geschrieben 22. November 2019 (bearbeitet) vor 5 Stunden schrieb Busfan: PowerShell lernen ist nicht einfach wenn man niemanden in der Firma hat der sich groß dafür interessiert. Und alles im Selbststudium übers Netz lernen ist auch nicht so einfach... Wenn Du einmal die Grundlagen drauf hast, kommt der Rest quasi mit der Zeit von alleine ... es gibt gute Bücher dafür, Online-Tutorials oder sogar kostenlose Video-Kurse ... wenn Du der englishen Sprache einigermaßen mächtig bist, nimm Dir die Zeit und lass Dir vom Erfinder die Grundlagen näher bringen ... https://channel9.msdn.com/Series/GetStartedPowerShell3 ... und keine Angst - es geht dabei zwar um Powershell in Version 3, aber die Grundlagen sind immernoch die Gleichen. vor 5 Stunden schrieb Busfan: Ich bin leider der einzige bei uns der der Meinung ist, das ohne Powershell vieles jetzt schon nicht mehr möglich ist... Vielleicht versuchst Du mal mit dem finanziellen Zaunpfahl zu winken. Schreib doch einfach mal auf, wieviel Zeit Du pro Monat für Tätigkeiten aufwendest, die mittels Powershell automatisiert werden könnten. Wenn Du das Deinem Chef vorrechnest, bleibt mit Sicherheit genug übrig, Dir einen Präsenz-Training zu bezahlen. bearbeitet 22. November 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
daabm 1.355 Geschrieben 27. November 2019 Melden Teilen Geschrieben 27. November 2019 Ergänzend zu Olaf: Wenn Du die Grundprinzipien verstanden hast (Arrays, Hashtables, Objekte, Schleifen), erledigt Google (bzw. Stackoverflow) den Rest i.d.R: in wenigen Sekunden. Muß ja nicht gleich eine Advanced Function sein 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.