Gå til innhold

[Løst]Powershell Remove-Item Cannot bind argument 'path' null


Anbefalte innlegg

Kan jo begynne med å si at, jeg vet ikke om denne egentlig hører hjemme her, eller om jeg kanskje skulle hatt den under .net eller noe annet, men jeg prøver meg fordet.

 

Som vanlig så sitter jeg nå her og jobber med ting jeg ikke har noen peiling på.

 

Vi har en mappe som inneholder flere bruker mapper (mappene til domenebrukere).

disse spesifike brukerne er midlertidige brukere.

 

Derfor tenkte jeg at kanskje Powershell kunne klare å slette all filer og mapper under hver brukermappe.

 

Etter mye om og men, så kommer jeg frem til en CSV fil som inneholder alle brukermappene:

 

"mapper"
"D:\Brukere\andre\42a01\*"
"D:\Brukere\andre\42a02\*"
"D:\Brukere\andre\42a03\*"
osv.
osv.

 

denne kjører jeg da gjennom følgende kommandoer:

 

$mappe = Import-Csv C:\Users\admin-42\Desktop\mapper.csv
$mappe | forEach-Object (Remove-Item $_.mapper -recurse)

 

Denne skulle vel da gått igjennom alle mappene i Csv filen og kjørt kommandoen på de?

 

Men dritten fungerer ikke!

 

I stede så får jeg feilmeldingen:

Remove-Item : Cannot bind argument to parameter 'Path' because it is null.
At line:1 char:37
+ $mappe | ForEach-Object (Remove-Item  <<<< $_.mapper -recurse)

 

Hva gjør jeg feil??

 

HJELP!!

Lenke til kommentar
Videoannonse
Annonse

heh... Tenkte jeg skulle prøve en annen metode med bruk av Get-ChildItem og litt andre små saker...

 

Endte med å slette alt på profilen til admin brukeren...

 

Så da har vi lært noe nytt i dag:

1. Ikke prøv slike ting på servere som er ut i produksjons miljøet. (brukerene ble ikke glade når hjemmeområder og felles områder var borte i rundt 1 time...)

 

2. Jeg skal holde meg langt unna PowerShell til jeg får hjelp av noen som faktisk har peiling på det!

Lenke til kommentar

Jeg tok sjangsen og lekte litt med powershell igjen, og kom frem til en annen måte å gjøre dette på.

 

Det jeg endte på var følgende:

 

Get-ChildItem D:\Brukere\andre\* -recurse | Remove-Item -recurse -exclude 42a*, 42eksamen*, 42x* -force

 

Den fungerte helt fint.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...