Bestimmte Unterordner auslesen *Powershell*

  • Moin Leute,
    ich muss den Ordner C:\Users auslesen und alle User Ordner außer Administrator, Default und Öffentlich löschen.
    Geht es die Ordner zu filtern mit diesem Attribute Where-Object {$_.Name -like "*python*"}

    Das wäre jetzt mein Ansatz, ist nur die Funktion zum auslesen.

    Spoiler anzeigen
    Bash
    Get-ChildItem -Path $User | SELECT Name | Format-Table -AutoSize | Where-Object {$_.Name -ne "Administrator","Default","Public"};

    Danke schonmal. :thumbup:

    MfG
    Hingo
    ___________________________________________________________________________
    --KEIN BACKUP?--
    --KEIN MITLEID!--

  • Perfekt danke. :thumbup:


    Edit:
    Kann es sein das dein Code nur bei Ordnern funktioniert. Habe ausprobiert die Registry damit auszulesen geht nicht.#

    Fehlermeldung:


    Code
    Get-ChildItem : Die Methode kann nicht aufgerufen werden. Der Anbieter unterstützt keine Verwendung von Filtern.
    In C:\Users\DL6T4RR\Desktop\User löschen\User löschen.ps1:47 Zeichen:1
    + Get-ChildItem $RegUser -filter * | ? { $_.PSisContainer -eq $true -and $Regexclu ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotImplemented: (:) [Get-ChildItem], PSNotSupportedException
        + FullyQualifiedErrorId : NotSupported,Microsoft.PowerShell.Commands.GetChildItemCommand

    MfG
    Hingo
    ___________________________________________________________________________
    --KEIN BACKUP?--
    --KEIN MITLEID!--

    2 Mal editiert, zuletzt von Hingo (30. Mai 2017 um 12:53)

    • Offizieller Beitrag

    Kann es sein das dein Code nur bei Ordnern funktioniert.

    Zitat von BugFix

    ? { $_.PSisContainer -eq $true

    ;)

    Aber da du an die Registry willst: Die Registry ist KEINE Ordner-Dateistruktur! Die kannst du natürlich nicht mit den Standardbefehlen bearbeiten (in AutoIt nimmst du ja auch RegRead/RegWrite).

    Registry mit PowerShell bearbeiten

  • Also gibt $_.PSisContainer an ob es sich um ein Ordnerverzeichniss handelt oder nicht.

    MfG
    Hingo
    ___________________________________________________________________________
    --KEIN BACKUP?--
    --KEIN MITLEID!--

    • Offizieller Beitrag

    Also gibt $_.PSisContainer an ob es sich um ein Ordnerverzeichniss handelt oder nicht.

    PSIsCointainer kannst du vergleichen mit der AutoIt-Abfrage StringInStr(FileGetAttrib($sPath), "D"), es wird also die Ordnereigenschaft geprüft.

    Du kannst einige Standardbefehle auch beim Bearbeiten der Registry nutzen, musst diese halt nur vorher mounten und dann ist sie ähnlich bearbeitbar, wie ein normales Datenlaufwerk.
    Für PS gibt es Unmengen Tuts und Bsp. - da findest du eigentlich immer eine Lösung.