Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Neuer Dateiserver, wie automatisiert Laufwerksverknüpfungen anpassen?

Frage Microsoft Windows Server

Mitglied: wolfi3300

wolfi3300 (Level 1) - Jetzt verbinden

06.03.2014 um 08:22 Uhr, 2053 Aufrufe, 15 Kommentare, 2 Danke

Liebes Forum,

unser alter 2003er File-Server soll durch einen neuen 2008er R2 Server ersetzt werden. Ich möchte das so sanft wie möglich machen und zuerst mal die ganzen Home und Abteilungsverzeichnisse auf den neuen Server migrieren.

Die User haben zur Zeit ein bis mehrere Laufwerke zum alten Fileserver verknüpft. Dies ist meist das Laufwerk H: für das Homeverzeichnis \\server1\Username und das Laufwerk I: mit dem Abteilungsverzeichnis \\server1\Abteilung.

Gibt es schon irgendwelche fertigen Scripts mit denen ich dann am User-PC hergehen kann und zum Beispiel alle Verknüpfungen wo \\server1 vorkommt automatisiert auf \\server2 umstellen? Mit VB-Script sollte sowas eigentlich möglich sein, allerdings habe ich damit wenig Erfahrung.

Danke für nen Tipp!
Wolfi3300
Mitglied: Ausserwoeger
06.03.2014 um 11:01 Uhr
Hi

Also ich arbeite hier immer mit den Windows internen GPOs. Hier hast du die Laufwerke verschieben bzw. den Pfad anpassen. Oder Netzlaufwerke per GPO mappen.

Beim Basislaufwerk der benutzer kannst du im AD den Pfad umdrehen indem du einfach als Pfad \\Server2\%username% einträgst bei allen Usern.

LG Andy
Bitte warten ..
Mitglied: wolfi3300
06.03.2014 um 11:31 Uhr
Hallo Andy,

danke für dein Feedback. Allerdings bringt mir das nichts. Es gibt User, welche auf dem Server 3 oder mehr Verzeichnisse verknüpft haben. Es sollten alle Einträge die auf \\Server1\ zeigen auf \\Server2\ gemappt werden.

LG Wolfi
Bitte warten ..
Mitglied: Ausserwoeger
06.03.2014 um 11:37 Uhr
Hi

Wie werden die Laufwerke den jetzt verbunden ? Per skript oder per GPO ?

Wenn du per Skript die Laufwerke gemappt hast kannst du diese einfach in der Skriptdatei anpassen.

Wenn du sie Per GPO gamappt hast kannst du die Laufwerke auch einfach in der GPO richtigstellen und aktualisieren lassen

LG
Bitte warten ..
Mitglied: Matze208
06.03.2014 um 11:54 Uhr
Hallo,

wenn du z.B. über das Login-Script die Laufwerke mappst, kannst du das ganze über Gruppen machen. z.B. wenn in Gruppe home_alt, dann werden die Verzeichnisse auf \\server1\username$\ gemappt oder wenn in Gruppe home_neu dann auf dem neuen srv. So bleibt dann im Windows-Explorer der Laufwerksbuchstabe gleich. Die Abteilungslaufwerke, sollten i.d.R. auch über AD-Gruppen eingebunden worden sein, so kannst du das ebenfalls wieder über das Script oder GPO lösen. Oder wurden die Shares manuell per Hand eingebunden ?

Gruß Matze
Bitte warten ..
Mitglied: wolfi3300
06.03.2014 um 11:58 Uhr
Hallo!

Die Shares wurden je nach Bedarf händisch verknüpft. Wer einen bestimmten Share benötigt, hat den irgendwann mal verknüpft und sein Rechner hat sich das gemerkt. Das ganze hat also kein System dahinter, welches man über ein Script/GPO steuern könnte.

Ich bräuchte quasi ein Script, welches hergeht und alle mappings durchgeht und überall wo \\server1\ steht, dies auf \\server2\ abändert.

LG Wolfi
Bitte warten ..
Mitglied: Ausserwoeger
06.03.2014 um 12:06 Uhr
Zitat von wolfi3300:

Hallo!

Die Shares wurden je nach Bedarf händisch verknüpft. Wer einen bestimmten Share benötigt, hat den irgendwann mal
verknüpft und sein Rechner hat sich das gemerkt. Das ganze hat also kein System dahinter, welches man über ein
Script/GPO steuern könnte.

Ich bräuchte quasi ein Script, welches hergeht und alle mappings durchgeht und überall wo \\server1\ steht, dies auf
\\server2\ abändert.

LG Wolfi

Hi

Dann würde ich eine GPO erstellen und alle Laufwerke die gemappt sind entfernen lassen und die Richtigen Laufwerke den benutzern zur verfügung stellen. Ob diese händich gemappt wurden oder nicht ist egal.

Wenn du angibst das alle netzlaufwerke von Laufwerksbuchstabe D bis Z entfernt werden sollen sind alle weg und du kannst diese in der selben GPO dann richtig zuweisen lassen.

LG
Bitte warten ..
Mitglied: Matze208
06.03.2014 um 12:58 Uhr
Hallo,

das wäre jetzt der ideale Zeitpunkt zum neustrukturieren deiner bisherigen Umgebung. Wenn sowiso die Netzlaufwerke neu eingebunden werden müssen, dann kannst du dir ausgeben lassen, welche user auf welche Netzlaufwerke zugreifen, dem entsprechend mit AD-Gruppen zusammenfassen und dementsprechend dann die Laufwerke per GPO oder Script automatisch mappen lassen. So ersparst du dir in Zukunft ähnliche Angelegenheiten. Wie sieht es mit der Rechtevergabe auf den Netzlaufwerken aus? Werden diese über AD-Gruppen geregelt?

Bzgl. deiner Frage, mit net use kannst du dir die entsprechenden gemappten Netzlaufwerke anzeigen lassen, und dementsprechen dann neu einbinden. Aber wie schon Ausserwoeger geschrieben hat, sinnvoller ist es alle zentral entfernen zu lassen und dann neu und strukturiert zu mappen.

Gruß Matze
Bitte warten ..
Mitglied: wolfi3300
06.03.2014 um 13:06 Uhr
In unserem Netzwerk (~130 User) ist kaum ein User wie der andere. Ich müsste vermutlich für die 130 User an die 70 Gruppen einrichten um das so abbilden zu können. Das ist quasi nicht wirklich durchführbar. Zuerst erheben, welche User sich wohin verbinden und dann die Gruppen anlegen und dann via GPO verknüpfen lassen klingt für mich nach riesem Aufwand. Ich möchte nicht zu jedem Rechner gehen und mir die Verknüpfungen ansehen.

Ein fertiges Tool welches den Servernamen ändert scheint es wohl nicht zu geben? Bin schon am überlegen ob ich mir nicht in C# was bastle, was die Mappings ausliest, löscht und mit neuem Server neu setzt. Denke das wird die allerschnellste Lösung sein?

LG
Bitte warten ..
Mitglied: Ausserwoeger
06.03.2014 um 13:10 Uhr
Hi

Da kann sein wenn du ein über Batchfile arbeitest musst du auch wissen was der User braucht und kannst auch nur die alten Laufwerke entfernen und neue Mappen.

Wenn du dir so ein Tool machst wäre es nett den Code hier zu posten.

LG
Bitte warten ..
Mitglied: wolfi3300
06.03.2014, aktualisiert um 13:16 Uhr
Zitat von Ausserwoeger:

Hi

Da kann sein wenn du ein über Batchfile arbeitest musst du auch wissen was der User braucht und kannst auch nur die alten
Laufwerke entfernen und neue Mappen.

Wenn du dir so ein Tool machst wäre es nett den Code hier zu posten.

LG

Naja, theoretisch könnte es so klappen.

1./ ein "net use" abschicken und das ergebnis in ein textfile ausgeben.
2./ das Textfile parsen und alle Mappings wo \\server1\xyz[n] vorkommt löschen
3./ alle Mappings mit \\server2\xyz[n] neu setzen

Wenn das noch wer anderer brauchen kann, dann kann ich's natürlich für einen Download zur Verfügung stellen (vorausgesetzt ich bekomme die Software gebacken)

LG
Bitte warten ..
Mitglied: Ausserwoeger
06.03.2014 um 13:17 Uhr
Zitat von wolfi3300:

Naja, theoretisch könnte es so klappen.

1./ ein "net use" abschicken und das ergebnis in ein textfile ausgeben.
2./ das Textfile parsen und alle Mappings wo \\server1\xyz[n] vorkommt löschen
3./ alle Mappings mit \\server2\xyz[n] neu setzen

Wenn das noch wer anderer brauchen kann, dann kann ich's natürlich für einen Download zur Verfügung stellen
(vorausgesetzt ich bekomme die Software gebacken)

LG

Hi

Jo hier gibts auch welche die das Problem mit der Powershell lösen oder lösen möchten.

http://www.administrator.de/forum/powershell-netzlaufwerke-trennen-1718 ...

LG Andy
Bitte warten ..
Mitglied: wolfi3300
06.03.2014, aktualisiert um 15:27 Uhr
Hallo,

War nun über C# gar nicht so schlimm, selbst für mich als Gelegenheitsprogrammierer. Das Programm tut schon was es soll. Das Hauptproblem war Anfangs, dass ich zwischen den net use-Commandos scheinbar eine gewisse Zeit vergehen lassen muss, da das BS offensichtlich die Shares nicht so schnell verlinkt und dann so mancher fehlte. Jetzt wird nach jedem net-use command 1.5 Sekunden gewartet und so klappts jetzt recht gut

ServerChanger hab ich das Teil getauft. Wird so aufgerufen: ServerChanger.exe Server1 Server2
wobei Server1 der aktuell gemappte Server ist
Server2 ist der Server auf den der Share geändert werden soll.

Es werden nur aktive Links geändert, also die mit Status "OK".

Hab's zum Download zur Verfügung gestellt, sollte es mal wer brauchen: http://ruthner.at/Software/ServerChangerV01.zip

LG
Wolfgang
Bitte warten ..
Mitglied: wolfi3300
06.03.2014 um 15:20 Uhr
Hier noch der Quellcode in C#
01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.Linq; 
04.
using System.Text; 
05.
using System.Threading.Tasks; 
06.
using System.Threading; 
07.
using System.Diagnostics; 
08.
using System.Text.RegularExpressions; 
09.
 
10.
namespace ServerChanger 
11.
12.
    class Program 
13.
14.
        static int Main(string[] args) 
15.
16.
            Console.WriteLine("ServerChanger V0.1 by Wolfgang Ruthner 2014 (http://www.ruthner.at)"); 
17.
 
18.
            if (args.Length != 2) 
19.
20.
                Console.WriteLine("Please enter Server1 and Server2 as argument."); 
21.
                return 1; 
22.
23.
 
24.
            string server1 = args[0]; 
25.
            string server2 = args[1]; 
26.
 
27.
            Process P = new Process(); 
28.
            P.StartInfo.FileName = "net"; 
29.
            P.StartInfo.Arguments = "use"; 
30.
            P.StartInfo.RedirectStandardOutput = true; 
31.
            P.StartInfo.RedirectStandardError = true; 
32.
            P.StartInfo.UseShellExecute = false; 
33.
            P.Start(); 
34.
            string result = P.StandardOutput.ReadToEnd(); 
35.
 
36.
            string[] lines = Regex.Split(result, "\r\n"); 
37.
 
38.
            int counter = 0; 
39.
            foreach (string line in lines) 
40.
41.
                if (line.IndexOf("OK", 0) == 0) 
42.
43.
                    // Wert 11 = Laufwerksbuchstabe, zbsp H: 
44.
                    // Wert 19 ist verknüpfte Freigabe zbsp \\\\idefix\\wolfgang 
45.
                    string[] werte = Regex.Split(line, " "); 
46.
 
47.
                    if (werte[19].IndexOf(server1, 0) > 0)   // Server1-String (args[0]) wurde gefunden? 
48.
49.
                        // Mapping löschen 
50.
                        P.StartInfo.Arguments = string.Format("use {0} /DELETE /Y", werte[11]); 
51.
                        P.Start(); 
52.
                        Thread.Sleep(1500); 
53.
                         
54.
                        // Serverstring ändern 
55.
                        string neuerLink = werte[19].Replace(server1, server2); 
56.
                        // neuen Serverstring setzen 
57.
                        P.StartInfo.Arguments = string.Format("use {0} {1} /persistent:yes", werte[11], neuerLink); 
58.
                        P.Start(); 
59.
                        Thread.Sleep(1500); 
60.
                        //result = P.StandardOutput.ReadToEnd(); 
61.
                        //Console.WriteLine(result); 
62.
 
63.
                        counter++; 
64.
                        Console.Write(counter); 
65.
                        Console.WriteLine("./ " + werte[11] + " -> " + neuerLink); 
66.
67.
68.
69.
            if (counter == 0) Console.WriteLine("Nothing changed..."); 
70.
            return 0; 
71.
 
72.
73.
74.
75.
 
Bitte warten ..
Mitglied: clSchak
07.03.2014 um 21:35 Uhr
Hi

(auch wenn der Thread schon gelöst ist)

Wenn du eine MS Domäne >=2008 hast - warum machst dann nicht alles via DFS? Damit sparst du dir die "harten" links auf die Server und kannst die Storage Server einfach wechseln ohne das der Benutzer überhaupt etwas machen muss.

Wir haben das vor 2 Jahre umgestellt und wir mussten bisher 3 mal die Fileserver tauschen weil die Kapazitäten nicht mehr ausreichten, zum Übergang einfach den neuen Fileserver als zusätzlicher Storagepool eingebunden, Replikation an und an einem WE dann den alten Server aus dem Pool entfernt - Daten inkl. Berechtigungen sind sauber repliziert und der Benutzer muss rein gar nichts machen

Weiterer Vorteil: du kannst einzelne Unterpfade auf verschiedene Server verteilen ohne das der Anwender das mitbekommt.

Das einbinden der DFS Pfade einfach via GPO, dann kannst das auch Benutzergruppen gesteuert durchführen und jedem MA entsprechend seiner Gruppenzugehörigkeit auch Abteilungslaufwerke zuweisen.

Anbei der Link von MS zum einrichten
http://technet.microsoft.com/de-de/library/cc732863(v=ws.10).aspx
Bitte warten ..
Mitglied: Matze208
28.03.2014 um 18:15 Uhr
Hallo,

eine weitere Möglichkeit wäre über DNS-Aliase. So kann dann auch der Fileserver umgezogen werden und die Nutzer können sich wieder mit ihren bisherigen Shares verbinden. Also z.B. für Server01 einen Alias wie \\share01\ einrichten. Sollten einmal Shares umgezogen werden müssen, so kann man dann die Verzeichnisse auf den neuen Server kopieren und dann für den neuen Server entsprechend den Alias auf \\share01\ setzen. So muss bei den Nutzern keine konfiguration mehr vorgenommen werden.

Gruß Matze
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Netzwerkmanagement
gelöst Icingaweb2 Werte für das NRPE CheckDisk anpassen (8)

Frage von M.Marz zum Thema Netzwerkmanagement ...

Windows 10
Windows 10 1607 Upgrade per WSUS anpassen (6)

Frage von djfflow zum Thema Windows 10 ...

Windows Server
Neuer DC + Ordnerstruktur (12)

Frage von KMUlife zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (27)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...