Problem bei der Erstellung meines servergespeicherten Profils "Powershell" - Der Versuch, die InitializeDefaultDrives-Operation für den 'FileSystem'-Provider auszuführen, ist fehlgeschlagen

1238
tukan

Dies ist ein wirklich ärgerlicher Fehler - Der Versuch, den InitializeDefaultDrives-Vorgang für den 'FileSystem'-Provider auszuführen, ist fehlgeschlagen. , die ich jedes Mal bekomme, wenn ich Powershell außerhalb des Firmennetzwerks starte.

Ein Screenshot

Der Fehler

Eine kurze Beschreibung:

Ich habe ein Notizbuch in der Domäne. Ich benutze es auf zwei Arten. Zuerst ist es im Firmennetzwerk und dort funktioniert alles gut. Der zweite Weg ist, wenn ich mich außerhalb des Büros befinde und über VPN verbunden bin. Bei jedem Start von Powershell wird der oben genannte Fehler angezeigt.

Skript zur Suche nach dem Laufwerk:

Bei meiner erneuten Suche nach dem Fehler scheint die Ursache das nicht verbindbare Laufwerk oder die Ressource zu sein.

Ich habe versucht herauszufinden, was die Ursache sein könnte. Da es einige Änderungen an der Basisordnerstruktur gab, hatte ich den Verdacht.

Ich habe dieses Skript an beiden Orten ausgeführt:

Write-Verbose -Message 'Get-PSDrive -PSProvider FileSystem' -verbose echo 'Get-PSDrive -PSProvider FileSystem' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log Get-PSDrive -PSProvider FileSystem | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log  Write-Verbose -Message 'net use' -verbose  echo 'net use' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log net use | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log  Write-Verbose -Message '[System.IO.DriveInfo]::GetDrives() | Format-Table' -verbose echo '[System.IO.DriveInfo]::GetDrives() | Format-Table' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log  [System.IO.DriveInfo]::GetDrives() | Format-Table | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log  # does not work properly # Write-Verbose -Message 'Get-CimInstance -ClassName Win32_LogicalDisk -ComputerName $env:COMPUTERNAME' -verbose | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log #Get-CimInstance -Class Win32_LogicalDisk | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log  Write-Verbose -Message 'Get-CimInstance -Class Win32_NetworkConnection' -verbose  echo 'Get-CimInstance -Class Win32_NetworkConnection' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log Get-CimInstance -Class Win32_NetworkConnection | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log 

Ergebnisse:

Es scheint U: \ aus Schatten zu lauern (erscheint nicht vor Ort). Dies ist das Netzlaufwerk, das getrennt wurde und nicht mehr verwendet werden sollte. (Es gibt einige ältere Programme, die es verwenden, und es sollte über GPO-Regeln angewendet werden.)

net use produziert:

U: \\server_name\U_login_name$ NFS Network 

[System.IO.DriveInfo]::GetDrives() | Format-Table produziert:

Name DriveType DriveFormat IsReady AvailableFre TotalFreeSpa TotalSize RootDirecto VolumeLabel eSpace ce ry  ---- --------- ----------- ------- ------------ ------------ --------- ----------- ----------- C:\ Fixed NTFS True 1779298304 1779298304 ...43488000 C:\ OSDisk  U:\ Network False U:\  

Get-CimInstance -Class Win32_NetworkConnection

LocalName RemoteName ConnectionState Status  --------- ---------- --------------- ------   U: \\server_name\U_login_name$ Disconnected Unavailable  

Auf der anderen Seite gibt es, wenn direkt im Firmennetzwerk, kein U: \ wie auch immer.

Was ich versucht habe, die Situation zu korrigieren

  • manuelle Trennung

    1) Auf normale Weise (Rechtsklick beim Trennen der Verbindung) wird ein Fehler erzeugt. Diese Netzwerkverbindung ist nicht vorhanden

    2) bei Verwendung von NFS umount u::

    Disconnecting U: \\server_name\U_login$ There are open files and/or incomplete directory searches pending on the connection.  Do you want to continue this operation? (Y/N) [N]:y  Network Error - 2250 Not Connected 

    3) Erzwungenes Trennen aller NFS-Mounts (U: Laufwerk wird als NFS-Freigabe gemeldet) umount -f -a:

    Network Error - 2250 Not Connected 
  • Vorschläge im Internet gefunden:

    1) Ändern Sie das GPO

    Um dieses Problem zu beheben, wenden Sie die folgende Einstellung über die Gruppenrichtlinie an:

    User Configuration/Administrative Templates/System/Scripts/Run logon scripts synchronously = Enabled

(Hinweis: Der Computer wird beim Roaming-Profil wirklich langsam gestartet. Diese Einstellung musste deaktiviert werden.)

2) Das zugeordnete Laufwerk wird nicht entfernt

Ich hatte wirklich große Hoffnungen für diesen Link. Das zugeordnete Laufwerk wird nicht verschwinden. Beim Anmelden wird immer wieder eine Verbindung hergestellt. Ich habe das gleiche Gefühl wie im Posting - um zu zitieren:

> I have indeed checked scripts and GPOs and this is nowhere to be found there. This looks more like a manual mapping that had the > "Reconnect on logon" checkbox checked and is now so persistent that > there was no "normal" way to undo it. 

Leider ist jeder Vorschlag dort fehlgeschlagen.

  • Registrierung

    1) Ich habe den String in der Registry gesucht und hier gefunden:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]. Ich habe versucht, den Laufwerksschlüssel U: zu löschen, aber er kommt immer wieder.

2) Ich habe es auch hier gefunden (habe aber noch nicht damit experimentiert; ich möchte das Betriebssystem nicht brechen):

 Windows Registry Editor Version 5.00  [HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Volatile Environment] "HOMEDRIVE"="U:" "LOGONSERVER"="\\\\logon_server" "USERDNSDOMAIN"="dns_domain" "USERDOMAIN"="user_domain" "USERNAME"="login" "USERPROFILE"="C:\\Users\\login" "HOMEPATH"="\\" "HOMESHARE"="\\\\server_name\\U_login$" "APPDATA"="C:\\Users\\login\\AppData\\Roaming" "LOCALAPPDATA"="C:\\Users\\login\\AppData\\Local" "USERDOMAIN_ROAMINGPROFILE"="user_domain"  [HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Volatile Environment\1] "SESSIONNAME"="Console" "CLIENTNAME"="" 

Im Moment bin ich zu dem Schluss gekommen, dass etwas mit meinem Roaming-Profil nicht stimmt. Ich muss noch den Grund finden, warum das Roaming-Profil nicht mit korrekten Informationen aktualisiert wird.

Hat jemand eine Idee / Erfahrung, wie ein solches Problem behoben werden kann?

3

1 Antwort auf die Frage

0
tukan

Schließlich hoffe ich, den Grund zu kennen und einige Szenarien getestet zu haben.

Lassen Sie mich zunächst sagen, dass dies ein Windows-NFS- Fehler ist .

Ich weiß nicht, wie ich es Microsoft als bloßen Sterblichen melden kann. Ich werde es hier und auf meinem Blog melden.

Für die Weitergabe dieses Fehlers müssen bestimmte Bedingungen erfüllt sein:

1) Der Computer muss in der Domäne sein

2) Sie müssen diesen Computer sowohl in einem internen Netzwerk als auch in einem vollwertigen VPN verwenden, und Sie müssen beide im selben Profil verwenden

3) Die NFS-Implementierung von Microsoft muss installiert sein (Alias ​​Client für NFS).

4) Sie müssen den Dienst beim Start des Computers automatisch starten. Wenn der Dienst manualgestartet wird und nach Abschluss der Startsequenz gestartet wird, manifestiert sich der Fehler nicht.

5) Sie müssen über eine Art NFS-Freigabe verfügen . Das Problem hierbei ist, dass die NFS-Freigabe Vorrang vor der normalen net useFreigabe hat. Wenn Sie eine NFS-Freigabe trennen und sie dann mithilfe von zuordnen net use ... /persistent:yes, wird diese Freigabe nach einem Neustart überschrieben. Nach dem Neustart wird es erneut als NFS-Freigabe erkannt und der Fehler wird angezeigt.

Wie man damit umgeht?

Kurz gesagt: Stellen Sie das NFS - Client für Windows - Dienst, um manuell von automatischem Modus. Verwenden Sie den Task Scheduler oder gpedit in Verbindung mit meinem Powershell - Skripts für Montage und Aushängen NFS - Shares. Beenden Sie den NFS-Client für Windows-Dienst NICHT, wenn einige Freigaben gemountet sind!

Längere Antwort:

Wenn Sie meine Skripte verwenden, lesen Sie bitte die folgenden Informationen:

Hinweise && Best Practices (wichtig zu lesen!):

A) NFS mount, at least the Microsoft's implementation, is NOT persistent over boots. To overcome  this you have these options:  I) Schedule this script in Task scheduler under "ordinary" user e.g. DOMAIN\user and have the  check-box "Run with highest privileges" (in order to start the NFS Client service if stopped) II) Run it in the "Local Group Policy Editor" (gpedit.msc) under "Windows Settings\Scripts"  (Startup -> mount and Shutdown -> unmount) in the sections "Computer Configuration" (for all  users) or under "User configuration" (for one specific user)   B) Do !!!NOT!!! mount NFS drive on system-wide account as "nt authority\system". At the first  glance this seems to be a good idea. Don't be fooled, it is not! When you mount NFS share  under "SYSTEM" account it will appear as fixed drive for all other users! On "SYSTEM" account  it still will show as network share. If you stop the NFS Client for Windows service, NOT  recommended when any NFS share active, and then start it again, then even under "SYSTEM"  account it will appear as "fixed" drive. It will leave user no option other than restart for  unmount.   C) It is NOT a good idea to stop Client for NFS Service when you have NFS mounted. It can lead  to unexpected states like the NFS share actually becoming a hard-drive for windows till reboot.  D) If the Client for NFS Service is started already then it is better not to stop it manually as  it can, under certain circumstances, refuse to start. It is better to have a log-off script  take care of the unmount && stopping the service  

Fehler oder Hinweise zur Serverkonfiguration:

A) You are getting a powershell error:  "Attempting to perform the InitializeDefaultDrives operation on the 'FileSystem' provider  failed."  This error can be caused the NFS Client for Windows when service is starting with start of the  Windows. It takes precedence over "ordinary" `net use` and it causes powershell to check  "FileSystem".  

Anzeige A) Lösung: Verwenden Sie dieses Skript zum Einhängen von NFS Share - legen Sie es beim Start mit den gpedit-Richtlinien fest, oder
Sie können es über den Task-Scheduler ausführen (versucht, den Client für NFS-Dienst zu starten) - das Skript muss über die entsprechenden Rechte verfügen. Vergessen Sie nicht, den Dienst "Client für NFS" ("NfsClnt")
auf den manuellen Start zu setzen, damit er nicht mit dem Windows-Start startet.

B) If you are getting this error message (at your NFS server):  "(rpc.mountd[7243]: refused mount request from 192.168.XX.XX for <mount>: illegal port 24784"  you are most probably trying to connect on port over 1024. To connect to NFS share you need to have 'insecure' option at your /etc/exports (if missing fix it and run `exportfs -r`)  

TIPP: Das Mountenskript erfordert, dass die Benutzerkontensteuerung den Dienst startet, wenn der Dienst noch nicht gestartet ist. Sie können:

1) run it manually - you will see UAC window  2) create a new Task in Task Scheduler and check the check box "Run it with highest privileges"  3) create a startup powershell script in the local policies 

Migration vom NFS-OR-Windows- Netzwerklaufwerk (z. B. mithilfe der Offline-Windows-Funktionalität) in die Cloud

Löschen des Netzlaufwerks (in meinem Fall ein U:Laufwerk)

Dieses Problem kann auftreten, wenn die Offline-Dateifunktionen aktiviert sind und die Dateien auf einem Netzlaufwerk gesichert werden. Wenn Ihr Unternehmen dies zugunsten eines Cloud-Services ändert, kann dies zu einem Stillstand in Ihrem Profil führen, wenn eine Anwendung noch das vorherige Netzlaufwerk benötigt, Sie aber trotzdem zu einem neuen Cloud-Anbieter wechseln müssen.

Wenn Sie ein NFS Client for windowsvon Microsoft verwenden, entfernen Sie das vorherige Netzlaufwerk folgendermaßen:

Als Got das U:Laufwerk (noch nicht die Nachricht) mit folgenden Schritten loswerden :

1) Gehe zu -> Start Menu\Programs\Administrative Tools\Services for Network File System (NFS)

2) Stoppen client for NFSSie, indem Sie mit der rechten Maustaste auf den Eintrag klicken und auswählenstop service

3) Die einfache manuelle Entfernung funktioniert !!!!

net use u: /delete --> U: was deleted successfully. 

Damit die Fenster das vorherige Laufwerk vergessen und die flüchtige Umgebung korrekt auf die neue Konfiguration eingestellt haben, müssen Sie einen Neustart durchführen .

Beseitigen der Fehlermeldung: Der Versuch, den InitializeDefaultDrives-Vorgang für den 'FileSystem'-Provider auszuführen, ist fehlgeschlagen.

Die Fehlermeldung wird nicht mit dem Client for NFSStopp angezeigt. Es reicht aus, es im Zustand zu haben manualund per Skript zu starten