Gå til innhold

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


Anbefalte innlegg

Skrevet

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!!

Videoannonse
Annonse
Skrevet

Svar samme dag er ikke så viktig for meg, da dette er for det meste noe jeg gjør for moroskyld (jeg har da lærlinger som kan gjøre jobben manuelt ved behov :-P )

 

Men jeg skal huske den om det noen gang skal være krise ^_^

Skrevet

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!

Skrevet

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.

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...