get-service WebClient|Start-ServiceMan kann entweder im Explorer unter "Dieser PC / Netzwerkadresse hinzufügen" einfach die WebDAV Adresse des Cloudspeichers (z.B. https://webdav.magentacloud.de) eingeben und wird nach dem Benutzerkonto gefragt.
Verbinden per Script
Man kann in der cmd Box ein Laufwerk mit dem guten alten net use Befehl verbinden:net use Z: https://webdav.magentacloud.de /user:<user> <passwort>Man beachte die Ausgabe, wenn man sich das Ergebnis dann mit net use anschaut :
Status Lokal Remote Netzwerk
-------------------------------------------------------------------------------
Z: \\webdav.magentacloud.de@SSL\DavWWWRoot
Web Client Network
Die Webadresse wird anders dargestellt, das ist wichtig, wenn man die Verbindung mit Powershell erstellen will. Das cmdlet New-PSDrive braucht genau diese Schreibweise und akzeptiert die übliche https:// Darstellung nicht!
New-PSDrive -Name Z -Root \\webdav.magentacloud.de@SSL\DavWWWRoot -PSProvider FileSystem -Credential <user>Das cmd-let akzeptiert auch kein Klartext Passwort als Übergabe, hier muss man zum PSCredential object greifen.
Vorteil: Man kann das Passwort verschlüsselt auf dem Computer speichern. Es ist nur auf diesem Computer lesbar und nicht kopierbar.
Hürden & Tücken
Laufwerk verbunden und einfach so beliebige Dateien kopieren - nicht bei Microsoft!?! Ist die Datei mal größer erhält man die Ausschrift: "Die Dateigröße überschreitet die maximal zulässige Größe" Und wie das so ist mit den Fehlermeldungen, man liest die Datei aus dem Netz und man bekommt aber die Ausschrift: "kann nicht gespeichert werden".Größenbeschränkung
Microsoft hat die Dateigröße für den WebDAV Client auf 50000000 Byte dezimal beschränkt. Die maximale Dateigröße für WebDAV liegt bei 4 GByte ( 4.294.967.295 Byte dezimal).Diesen Wert kann man in Powershell anzeigen bzw. setzen. Nach der Anpassung in der Registry muss der WebClient Dienst neu gestartet werden - ich habe alle notwendigen Befehle gleich in ein kleines Script gepackt.
# WebClient FileSizeLimitInBytes ueberpruefen und setzen $Reg="HKLM:\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" $RegItem="FileSizeLimitInBytes" $Value="4294967295" $WebClient = get-Item -path $Reg|get-ItemProperty Write-Verbose ("Die maximale FileSize WebDav ist derzeit: " + $WebClient.FileSizeLimitInBytes + " byte") if (-not ($WebClient.FileSizeLimitInBytes -eq $Value)){ Set-ItemProperty -Type DWord -Path $Reg -Name $RegItem -value $Value Write-Verbose ("FileSize WebDav auf $Value gesetzt") Restart-Service WebClient Write-Verbose "WebClient neu gestartet" }
Windows Server
Der WebDAV Client ist auf der Server Version nicht installiert. Man bekommt ihn für Windows Server 2008/2012 mit der Installation des Features desktop experience.Install-WindowsFeature Desktop-Experience
Achtung: Leider behindert seit März 2019 das installierte Feature Desktop-Experience ganz massiv Windows Update unter Windows Server 2012. Damit ist das dort eigentlich nicht mehr verwendbar!
Beim Windows Server 2016 gibt es einen separaten Client.(das muss ich noch untersuchen) Quelle
Install-WindowsFeature WebDAV-Redirector –Restart
Etwas mehr Code
Noch ein Beispiel für den Umgang mit der WebDAV Schnittstelle. Das Script fragt beim ersten Aufruf das Passwort des Benutzer Kontos ab und speichert dieses. Wenn der Laufwerksbuchstabe schon existiert wird das Laufwerk gelöscht und das Script sofort beendet. Ansonsten wird das Laufwerk einfach verbunden. Man kann das Script also einfach zum Verbinden oder zum Löschen aufrufen.Set-Location $PSScriptRoot $UserName= "User Name" $PWDFile=".\PASSWORD.txt" $Drive="t" $Share="\\sd2dav.1und1.de@SSL\DavWWWRootd" #Testen ob Laufwerk schon existiert If (test-path $Drive":\") { #Netzlaufwerk löschen Remove-PSDrive -name $Drive Write-verbose "Laufwerk $Drive entfernt" exit } #Wenn Passwort nicht gespeichert vorhanden passwort abfragen und File erzeugen If (-not (test-path $PWDFile)) { $credential = Get-Credential -Credential $UserName $credential.Password | ConvertFrom-SecureString | Set-Content $PWDFile Write-Verbose "fehlendes PWD File fuer User $UserName erzeugt" } #Credential aus Passwort Datei und Username erzeugen $encrypted = Get-Content $PWDFile | ConvertTo-SecureString $credential = New-Object System.Management.Automation.PsCredential($UserName, $encrypted) #Netzlaufwerk verbinden New-PSDrive -Name $Drive -Root $Share -PSProvider FileSystem -Credential $credential Write-Verbose "Laufwerk $Drive zu Share $Share verbunden"
Vielen Dank für die hilfreiche Beschreibung!
AntwortenLöschenmit net use Z: https://webdav.magentacloud.de /user:
funktioniert es bei mir wunderbar, über die UI hakt es irgendwo ein paar mal..
Win 10, nutze die 25gb kostenfrei Magentacloud als Festnetzkunde, das ginge sogar mehrmals, Stichwort Inklusivnutzer