Mapowanie udziału sieciowego – Skrypty VBS cz.2

Print Friendly, PDF & Email

W wielu firmach pracownicy pracują na plikach, które udostępniane są wprost z dysków serwera. Oczywiście, na początku musimy jakoś dostać się do serwera, najprościej jest zmapować dysk w postaci ikony w Mój Komputer, można robić to ręcznie lub też automatycznie poprzez skrypt.

Poniższa wersja dotyczy sytuacji, w której komputer nie jest dodany do domeny, przydatny w sytuacji gdy „ktoś” z zewnątrz przychodzi do firmy i potrzebuje mieć dostęp do firmowych plików:

Option Explicit

Dim objNetwork
Dim objShell
Dim desktopLink
Dim objSpace
Dim userDesktop
Dim strLocalDrive
Dim strRemoteShare
Dim strUsr
Dim strPas
Dim strPer
Dim strPath


Set objNetwork = WScript.CreateObject(„WScript.Network”)
Set objSpace = CreateObject(„Shell.Application”)
Set objShell = CreateObject(„Wscript.Shell”)
userDesktop = objShell.SpecialFolders(„Desktop”)

strLocalDrive = „H:”
strRemoteShare = InputBox(„Podaj ścieżkę do plików, \NazwaServeraNazwaKatalogu”)
strUsr = InputBox(„Podaj login”)
strPas = InputBox(„Podaj hasło”)
objNetwork.MapNetworkDrive strLocalDrive, strRemoteShare, strPer, strUsr, strPas
objSpace.NameSpace(strLocalDrive).Self.Name = „Pliki”

set desktopLink = objShell.CreateShortcut(userDesktop & „Pliki.lnk”)
desktopLink.TargetPath = strLocalDrive
desktopLink.Save
Wscript.Echo(„Utworzono udział:” & strLocalDrive) 

Po jego uruchomieniu zostanie podpięty ten udział. Problemem jest to że po wylogowaniu ten udział zostanie odmontowany. Automatyczne montowanie można uzyskać dodając taki skrypt poprzez GPO do węzła Skrypty(Logowania/Wylogowywania). Oczywiście skrypty muszą być używane z umiarem, aby nie przydłużać procesu logowania na stacje. 

Podobnie można zrobić w przypadku  gdy komputer dodany jest do domeny:

Option Explicit
On error resume next

Dim objNetwork
Dim objShell
Dim appShell
Dim userLink
Dim strLocalDrive
Dim strRemoteShare

Set objNetwork = CreateObject(„Wscript.Network”)
Set objShell = CreateObject(„Wscript.Shell”)
Set appShell = CreateObject(„Shell.Application”)
userDesktop = objShell.SpecialFolders(„Desktop”)

strLocalDrive = „h:”
strRemoteShare = InputBox(„Podaj ścieżkę do plików, \nazwaServeraNazwaUdziału”)

objNetwork.MapNetworkDrive strLocalDrive,strRemoteShare
appShell.NameSpace(strLocalDive).Self.Name = „Pliki”

W tym przypadku nie musimy podawać hasła do konta, które ma wystarczające uprawnienia, aby dodać udział sieciowy dla konkretnej maszyny.



Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT