Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Netzlaufwerke auslesen und UNC Path als Verknüpfung für Explorer Links in Userprofile kopieren

Frage Microsoft Windows Server

Mitglied: Greeny1980

Greeny1980 (Level 1) - Jetzt verbinden

13.11.2014 um 11:15 Uhr, 2579 Aufrufe, 3 Kommentare, 1 Danke

Hallo zusammen,

ich möchte folgendes realisieren:

1.Ich möchte via Script alle verbundenen Netzlaufwerke unter Windows 7 und (noch) XP; auslesen.
2. der UNC Pfad soll dann in das User Profile als Verknüpfung kopiert werden

Ich hab unter Windows 2008 R2 Folderredirection aktivert und die Benutzerprofile liegen auf einem Netzwerkshare.

\\folderredirection\%username%\

Darin liegen:
AppData
Desktop
Downloads
Eigene Dokumente
Eigene Bilder
Eigene Musik
Eigene Videos
Favoriten (Internet-Explorer Favoriten)
Links (Windows Explorer Favoriten)

Ziel soll es nun sein die UNC Pfade der verbundenen Netzlaufwerke auszulesen und als Verknüpfung in das User Profile unter Links zu speichern.

Bisher habe ich folgendes versucht:

Visual Basic-Quellcode

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutFile = objFSO.CreateTextFile(".\Netzlaufwerke.txt")
Set colDrives = objWMIService.ExecQuery _
("Select * From Win32_LogicalDisk Where DriveType = 4")
For Each objDrive in colDrives
objOutFile.WriteLine(objDrive.DeviceID & " (" & _
objDrive.ProviderName & ")")
Next
objOutFile.Close



So werden mir die verbundenen Laufwerke in die Netzlaufwerke.txt geschrieben und zwar so:

Beispiel:
Z: (\\Freigabe\Ordner)

Im zweiten Script oder im Anschluss sollen jetzt die UNC Pfade aus der Netzlaufwerke.txt ausgelesen werden und als "Verknüpfung" im Userprofil unter \\folderredirection\%username%\Links eingefügt werden.



Ich hoffe ich habe nun alle brauchbaren Infos für euch aufgeschrieben?

LG
André
Mitglied: Crusher79
13.11.2014 um 14:58 Uhr
Hi,

mklink kann das und sollte bei Windows dabei sein. Musst nur eine Batch Routine schreiben, die TXT ausliest. Oder du kombinierst alles in einer Batch.

Z: - ":" noch weg - und man eine schöne Bezeichnung. Kannst auch automatisch "Lw_" etc. davor setzen.

mfg Crusher
Bitte warten ..
Mitglied: Greeny1980
31.08.2015 um 13:41 Uhr
Leider scheint das nicht ganz zu funktionieren:

Also nochmals zur Erklärung:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOutFile = objFSO.CreateTextFile(".\Netzlaufwerke.txt")
Set colDrives = objWMIService.ExecQuery _
("Select * From Win32_LogicalDisk Where DriveType = 4")
For Each objDrive in colDrives
objOutFile.WriteLine(objDrive.DeviceID & " (" & _
objDrive.ProviderName & ")")
Next
objOutFile.Close
Dieser Teil bewirkt das Auslesen der derzeit verbundenen Netzlaufwerke. Nach Ausführen des Scripts wird in die Datei Netzlaufwerke.txt folgendes geschrieben:

G: (\\Verzeichnis\Ordner)

Das Script soll nun eine Verknüpfung erstellen und diese in "Former_G Ziel Ordnername" bennen. Diese soll unter: C:\Users\benutzer\Links gespeichert werden.

Im Script muss also nun gesagt werden: Lese die Datei Netzlaufwerke.txt, entferne die Klammern , erstelle eine Verknüpfung unter C:\Users\benutzer\Links mit dem Namen Former_G Ordner....
Ich habe leider keine Ahnung wie ich das machen soll
Bitte warten ..
Mitglied: Greeny1980
09.10.2015 um 11:36 Uhr
Ich habe inzwischen eine Lösung und möchte Sie euch nicht vorenthalten:

Für Terminalserver-Umgebungen

01.
Dim objShortcut 
02.
Dim objShell 
03.
Dim objWMIService 
04.
 
05.
strComputer = "." 
06.
strDriveletter = "" 
07.
 
08.
 
09.
strRegKey = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968}" 
10.
strLinksFolder = "" 
11.
 
12.
Set objShell = WScript.CreateObject("Wscript.Shell") 
13.
strLinksFolder = objShell.RegRead(strRegKey) 
14.
 
15.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
16.
Set colDrives = objWMIService.ExecQuery _ 
17.
("Select * From Win32_LogicalDisk Where DriveType = 4") 
18.
For Each objDrive in colDrives 
19.
	Set objShortcut = objShell.CreateShortcut(strLinksFolder& "\Former_" & Mid(objDrive.DeviceID, 1, 1) & ".lnk") 
20.
	objShortcut.TargetPath = chr(34) & objDrive.ProviderName & chr(34) 
21.
	objShortcut.Save 
22.
Next 
23.
 
24.
 



Lokal für Windows 7

01.
Dim objShortcut 
02.
Dim objShell 
03.
Dim objWMIService 
04.
 
05.
strComputer = "." 
06.
strDriveletter = "" 
07.
strUserprofil = "" 
08.
 
09.
Set objShell = WScript.CreateObject("Wscript.Shell") 
10.
 
11.
strUserprofil = objShell.ExpandEnvironmentStrings("%UserProfile%") 
12.
 
13.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
14.
Set colDrives = objWMIService.ExecQuery _ 
15.
("Select * From Win32_LogicalDisk Where DriveType = 4") 
16.
For Each objDrive in colDrives 
17.
	Set objShortcut = objShell.CreateShortcut(strUserprofil & "\Links\Former_" & Mid(objDrive.DeviceID, 1, 1) & ".lnk") 
18.
	objShortcut.TargetPath = chr(34) & objDrive.ProviderName & chr(34) 
19.
	objShortcut.Save 
20.
Next
Bitte warten ..
Ähnliche Inhalte
Windows 7
Verknüpfung für alle Benutzer kopieren (11)

Frage von uridium69 zum Thema Windows 7 ...

Batch & Shell
Umgebungsvariable "PATH" für eine Anwendung anpassen (7)

Frage von enno zum Thema Batch & Shell ...

Windows Tools
gelöst Robocopy bei Änderungen im Source path (1)

Frage von Dirmhirn zum Thema Windows Tools ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (27)

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

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...