Automatisk mapping av nettverksdisker for alle brukere på en PC

marsboer

Hi-Fi freak
Ble medlem
04.04.2010
Innlegg
4.356
Antall liker
1.701
Sted
Phobos
Hei

Jeg ble lei av å sørge for at alle brukere på datamaskinen får mappet opp nettverksdisker automatisk. I tillegg ønsket jeg at nettverksdiskene får pene navn i stedet for standardnavnene "<share> on <server>". For å komplisere ytterligere ønsker jeg at visse brukere skal få mappet opp et share ekstra (et admin share). I bedriftssammenheng løser man dette vanligvis med et logon-script lagt ut via et GPO i Active Directory. De færreste hjemmebrukere kjører imidlertid et domene, så jeg lagde et logonscript i Powershell som tar seg av dette på en stand alone PC uten domenetilknytning. Siden scriptet er powershell-basert fungerer det ikke på gamle Windows uten videre. Det er kun testet på Windows 7 Professional 64-bit.

Last ned vedlagt fil og tilpass det til eget bruk. Merk at du ikke kan kjøre scriptet direkte uten å legge det til som et logon script fordi PowerShell som standard ikke tillater dette. Denne oppførselen kan endres ved å kjøre Set-ExecutionPolicy med ønsket parameter. Dette anbefales imidlertid ikke av sikkerhetsmessige årsaker.

Logikken er som følger:
1. Scriptet finner innlogget bruker
2. Det defineres et array med spesielle brukere som sjekkes mot slutten av scriptet og disse brukerne får da mappet opp en ekstra nettverksdisk i forhold til andre brukere. Det er ingenting i veien med å definere egne array og egne if-tester for å sjekke innlogget bruker mot andre array om du har flere forskjellige behov.
3. Nettverksdiskene mappes så opp én etter én. Deretter renames de til et penere navn. Det er bare å redigere, legge til og fjerne linjer etter samme mal for å matche eget behov.

Fremgangsmåte:
1. Kjør kommandoen "gpedit.msc"
2. Gå til User Configuration -> Windows Settings -> Scripts (Logon/Logoff) -> Dobbeltklikk på Logon i høyre vindu
3. Velg arkfanen PowerShell Scripts
4. Trykk på Add -> Browse
5. Kopier den tilpassede map_network_drives.ps1 og lim det inn i browse vinduet, det vil si ikke endre filbanen som dukker opp direkte når du trykker på browse.
6. Merk scriptet du limte inn, trykk OK, OK og lukk gpedit.

Alle brukere som nå logger seg på maskinen vil nå automatisk kjøre scriptet og få mappet opp nettverksdisker automatisk ved innlogging.

Jeg har forøvrig en mer avansert variant av scriptet som sjekker brukerens gruppemedlemsskap i AD og basert på gruppemedlemsskap mapper opp nettverksshares, men dette anser jeg for lite relevant for de fleste her.
 

Vedlegg

Sist redigert:

marsboer

Hi-Fi freak
Ble medlem
04.04.2010
Innlegg
4.356
Antall liker
1.701
Sted
Phobos
Hvis noen har tatt dette i bruk og opplevd at det ikke fungerer så viser det seg at UAC (User Account Control) i Windows hindrer oppmapping av nettverksdisker for brukere som også er lokale Administratorer. Jeg hadde UAC avslått når jeg testet, men har funnet en omvei dersom du har dette påslått:

Programs may be unable to access some network locations after you turn on User Account Control in Windows Vista or in Windows 7

Legg til følgende registernøkkel, og restart maskinen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -> New -> DWORD = EnableLinkedConnections -> Value = 1
 
Topp Bunn