laufenfeuer
Goto Top

Windows XP Namesdarstellung von CIFS-Shares im Explorer via Registry-Änderung kürzer darstellen

Hallo,

ich möchte die Namesdarstellung von Netzlaufwerken im Explorer verkürzen. Wir nutzen übrigens Windows XP SP3.

Derzeit werden Shares im Explorer wie folgt dargestellt.

( P) Freigabename auf "Eintrag aus Kommentarfeld des Linuxservers (Servername)"

z.B. (P) Internes auf "blablablablabal (serverxy)"

dazu steht in er Registry unter

[HKEY_USERS\S-1-5-21-1481356528-2111110098-555555093-21123\Software\Microsoft\Windows\CurrentVersion\Explorer\ComputerDescriptions]

"Servername" = "Freigabename auf "Eintrag aus Kommentarfeld des Linuxservers"


dann sieht das im Explorer so aus:
( P) Freigabename auf "Servername"
also
(P) Internes auf "serverxy"


Blöd ist nur, dass 200 Anwender ganz viele verschiedene und unterschiedliche Laufwerke eingebunden haben, die ich natürlich nicht bei jedem einzelnen beackern will.
Ich muss mir also eine *.reg bauen, die diese Einstellung als grundsätzliche in der Registry reinfummelt.

Was muss in der Registry wie umkonfiguriert werden, damit jedes vorhandene und zukünftig eingebundene Netzlaufwerk in der Kurzform dargestellt wird?

Ich danke Euch schon mal und wünsche ein freudiges Wochenende!

Content-ID: 164696

Url: https://administrator.de/contentid/164696

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

82959
82959 15.04.2011 um 15:34:52 Uhr
Goto Top
Hallo Laufenfeuer,

ich nehme mal an ein Linux Server stellt die CIFS-Shares bereit?

Unter Windows Server 2008 R2 kann man das am Server einstellen (für jeden Share) und der Client bekommt dann den definierten Namen für die Freigabe am Server bei sich lokal angezeigt (Windows XP, Vista und 7). So muss man das nur 1x für jede Freigabe am Server definieren und dann bekommt das jeder Client automatisch der Verbunden ist. Wenn man das nachträglich ändert, dann muss man den Client neu starten. Das haben wir im Einsatz, das funktioniert bei uns perfekt.

Wenn das ganze jetzt ein Linux Server ist, dann hätte ich folgende Vorschläge:
- Mal schauen ob Samba das in der .conf Datei unterstützt
- Mal schauen ob Samba in Kombination mit Windows XP das generell kann

Alternativ bei Linux Shares wäre noch folgendes möglich:
1.) In die Registry schauen (da wo du nachgeschaut hast) und den originalen Eintrag anschauen
2.) Verbundene Freigabe im Windows-Explorer umbenennen
3.) PC neu starten
4.) in die Registry schauen (da wo du nachgeschaut hast) und schauen wie sich der Eintrag verändert hat
5.) Eine Registry Datei basteln die für alle Shares einen Registry Eintrag macht und das auf allen Clients ausführen (SEHR SEHR VORSICHTIG SEIN!!!) => erst auf einem Test-PC ausprobieren.

Ich hoffe ich konnte dir ein bisschen helfen.

Schöne Grüße
ITinfrastruktur
dog
dog 15.04.2011, aktualisiert am 18.10.2012 um 18:46:30 Uhr
Goto Top
Aus meiner Sammlung:

' Q: [content:11041]  

' Variablen deklarieren  
Dim objNetwork, objShell,objWSH
Dim strMyName, strMyDriveLetter, strMyRemotePath

' Variablen zuweisen  
Set objNetwork = CreateObject("WScript.Network")  
Set objShell   = CreateObject("Shell.Application")  
set objWSH     = CreateObject("WScript.Shell")  

' System-Konstanten  
Const EVENT_SUCCESS = 0
Const EVENT_INFO    = 4
Const EVENT_ERROR   = 1

' Mappt ein Netzlaufwerk  
' @param strMyName        string Der Laufwerksname z.B. "Meine Daten"  
' @param strMyDriveLetter string Der Laufwerksbuchstabe z.B. "P:"  
' @param strMyRemotePath  string Der Zielpfad z.b. "\\dom.local\shares\test"  
Public Sub mapMyDrives(strMyName, strMyDriveLetter, strMyRemotePath)
	'error handling  
	On Error Resume Next
	Err.Clear
	'laufwerk verbinden  
	Call objNetwork.MapNetworkDrive(strMyDriveLetter, strMyRemotePath)
	'ging das daneben? z.B. schon verbunden.  
	If Err.Number <> 0 Then
		'der Fehler bedeutet "Laufwerk schon verbunden, das ist auch OK für uns  
		If Err.Number <> -2147024811 Then
			Call objWSH.LogEvent(EVENT_ERROR, "Error while mapping drive: <" & Err.Number & "> " & Err.Description & "[" & strMyDriveLetter & "|" & strMyRemotePath & "]")   
			Exit Sub
		End If
	End If
	'namen ändern  
	Call renameDrive(strMyName, strMyDriveLetter)
	'loggen  
	Call objWSH.LogEvent(EVENT_SUCCESS, "Mapped <" & strMyRemotePath & "> to drive <" & strMyDriveLetter & ">")  
	
End Sub

' Benennt ein Laufwerk um  
' @param strDriveName   string Der neue Name für das Laufwerk z.B. "Hans Wurst"  
' @param strDriveLetter string Der Buchstabe des Laufwerks z.B. "P:"  
Public Sub renameDrive(strDriveName, strDriveLetter)
	Call objWSH.LogEvent(EVENT_INFO, "Rename <" & strDriveLetter & "> to <" & strDriveName & ">")  
	'deklarieren  
	Dim ns
	'namespace objekt erzeugen  
	Set ns = objShell.NameSpace(strDriveLetter)
	'wenn es das objekt gibt (=Laufwerk vorhanden) können wir den namen ändern  
	If Not ns Is Nothing Then
		ns.Self.Name = strDriveName
	Else
		Call objWSH.LogEvent(EVENT_ERROR,"Tried to rename a drive that is not connected: [" & strDriveLetter & "]")  
	End If
End Sub

' Laufwerke verbinden  
Call mapMyDrives("Allgemein", "P:", "\\dom.local\...")  

' Name des Home-Laufwerk setzen  
username = objWSH.ExpandEnvironmentStrings("%USERNAME%")  
homedrive = objWSH.ExpandEnvironmentStrings("%HOMEDRIVE%")  
If Not homedrive = "C:" Then  
	Call renameDrive("Daten von " & username, homedrive)  
End If
99045
99045 15.04.2011 um 19:18:09 Uhr
Goto Top
Hi,

im Key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
sind die Shares, beginnend mit "##" eingetragen. Dort wird bei meiner Workstation ein Wert "_LabelFromReg" mit Typ REG_SZ verarbeitet, so er denn vorhanden ist. Dort kannst du den gewünschten Eintrag vornehmen.

Für Server in einer Domain ungetestet.

Gruß