Skip to main content

Netzlaufwerke per Skript anlegen

Um dienicht eine Vielzahl an Laufwerken manuell unter Windows anlegen zu müssen, lohnt sich dieses Powershell-Skript.

Vorher folgende Werte anpassen:
$UserName  = "deinbenutzer"
$Password  = "geheimespasswort"
Name des Fileshares:
$serverShare  = "share.lan.foo.net"

und die Laufwerksbuchstaben und Freigabenamen

powershell script
# Anmeldedaten für Samba
$UserName = "deinbenutzer"
$Password = "geheimespasswort"
$serverShare = "share.lan.foo.net"

# Credentials im Windows Credential Manager dauerhaft speichern
Write-Host "Speichere Anmeldedaten im Credential Manager..."
cmdkey /add:$serverShare /user:$UserName /pass:$Password

# Definition der gewünschten Laufwerke
$drives = @(
    @{ Drive = "I:"; Share = "Bilder"       ; Server = $serverShare }
    @{ Drive = "L:"; Share = "Downloads"    ; Server = $serverShare }
    @{ Drive = "M:"; Share = "Musik"        ; Server = $serverShare }
    @{ Drive = "N:"; Share = "Dokumente"    ; Server = $serverShare }
    @{ Drive = "O:"; Share = "Datenstaende" ; Server = $serverShare }
    @{ Drive = "P:"; Share = "Programme"    ; Server = $serverShare }
    @{ Drive = "S:"; Share = "Spiele"       ; Server = $serverShare }
    @{ Drive = "V:"; Share = "Videos"       ; Server = $serverShare }
)

foreach ($d in $drives) {
    $local  = $d.Drive
    $remote = "\\{0}\{1}" -f $d.Server, $d.Share
    
    Write-Host "Setze $local auf $remote"
    
    # Alte Mappings entfernen
    Remove-SmbMapping -LocalPath $local -Force -UpdateProfile -ErrorAction SilentlyContinue
    
    # Neues Mapping anlegen (ohne Username/Password, nutzt Credential Manager)
    New-SmbMapping -LocalPath $local `
                   -RemotePath $remote `
                   -Persistent $true
}

Write-Host "Fertig! Die Laufwerke bleiben nach einem Neustart erhalten."

grafik.png

Falls du die Credentials später mal ändern musst, kannst du sie mit diesem Befehl aktualisieren:

cmdkey /add:share.lan.foo.net /user:neuerbenutzer /pass:neuespasswort

oder komplett entfernen:

cmdkey /delete:share.lan.foo.net