Centrum Skryptów - Systemy operacyjne

W jaki sposób udostępnić folder na komputerze zdalnym? Udostępnij na: Facebook

Skrypciarze odpowiadają na Wasze pytania

Cześć Skrypciarze!

Witamy w rubryce TechNet, w której Skrypciarze z firmy Microsoft odpowiadają na częste pytania dotyczące używania skryptów w administracji systemu. Jeśli macie jakieś pytania z tej dziedziny, zachęcamy do wysłania e-maila na adres: scripter@microsoft.com. Nie możemy zagwarantować odpowiedzi na każde otrzymane pytanie, ale staramy się jak możemy.

W jaki sposób udostępnić folder na komputerze zdalnym?

Cześć Skrypciarzu! W jaki sposób udostępnić folder na komputerze zdalnym?

-- RS

Cześć RS! Jedną z najwspanialszych właściwości WMI jest to, że – z kilkoma nieistotnymi wyjątkami – wszystko, co można zrobić na komputerze lokalnym, można też zrobić na komputerze zdalnym. Na tym właśnie polega przewaga skryptów nad narzędziami wiersza poleceń; część narzędzi wiersza poleceń (w tym narzędzie do udostępniania sieciowego) działa tylko na komputerze lokalnym. Czasami skrypt WMI jest jedynym sposobem, aby zrobić coś zdalnie.

W jaki sposób zatem udostępnić folder na komputerze zdalnym? Oto jeden ze sposobów:

Const FILE_SHARE = 0

Const MAXIMUM_CONNECTIONS = 25



strComputer = "atl-ws-01"

Set objWMIService = GetObject _

    ("winmgmts:\\" & strComputer & "\root\cimv2")



Set objNewShare = objWMIService.Get("Win32_Share")



errReturn = objNewShare.Create _

    ("C:\Public", "PublicShare", FILE_SHARE, _

        MAXIMUM_CONNECTIONS, "Public share for Fabrikam employees.")

Ten skrypt udostępnia folder C:\Public na komputerze zdalnym o nazwie atl-ws-01. Zaczyna on od ustawienia dwóch stałych. Najpierw przypisujemy wartość 0 stałej FILE_SHARE (udostępnienie plików – wskazuje rodzaj tworzonych przez nas zasobów udostępnionych); jeśli wartość tej stałej ustawilibyśmy na 2147483648, zamiast standardowego współużytkowania plików utworzylibyśmy współużytkowanie administracyjne. Następnie przypisujemy wartość 25 stałej MAXIMUM_CONNECTIONS (maksimum połączeń), która ustawia liczbę jednoczesnych połączeń. Jeśli chcielibyśmy zezwolić na nieograniczoną liczbę połączeń, w ogóle nie użylibyśmy tej stałej, a podczas tworzenia udziału ten parametr pozostałby pusty.

Po połączeniu się z usługą WMI na komputerze zdalnym, łączymy się z klasą Win32_Share. Teraz musimy jedynie wywołać metodę Create (utwórz), przekazując poniższych pięć parametrów:

ParametrOpis
"C:\Public"Ścieżka lokalna do udostępnianego folderu.
"Public Share"Sieciowa nazwa folderu udostępnionego.
FILE_SHARERodzaj tworzonego współużytkowania.
MAXIMUM_CONNECTIONSMaksymalna liczba użytkowników mogących naraz połączyć się z folderem udostępnionym.
"Public share for Fabrikam employees"Opcjonalny opis folderu udostępnionego

To już w zasadzie wszystko; po uruchomieniu skryptu folder C:\Public zostanie udostępniony jako PublicShare (współużytkowanie publiczne). Zwróć uwagę na to, że folder C:\Public musi zostać wcześniej utworzony na komputerze atl-ws-01; metoda Create nie utworzy folderu za Ciebie. Jeśli nie jesteś pewien, czy folder C:\Public istnieje, oto sposób na szybkie sprawdzenie:

strComputer = "atl-ws-01"

Set objWMIService = GetObject _

    ("winmgmts:\\" & strComputer & "\root\cimv2")



Set colFolders = objWMIService.ExecQuery _

    ("Select * From Win32_Directory Where Name = 'C:\\Public'")

Wscript.Echo colFolders.Count

Skrypt wywołuje echo liczby folderów o nazwie C:\Public (zauważ, że w samym zapytaniu trzeba to wpisać jako C:\\Public) na komputerze atl-ws-01. Jeśli liczba folderów wynosi 0, oznacza to, że folder C:\Public nie istnieje. Jeśli ta liczba wynosi 1, wówczas folder istnieje.

Przy okazji: wiemy, że wielu z Was zapyta o ustawianie uprawnień dla folderu udostępnionego. Można zrobić to przy pomocy skryptu, jednak na możliwości naszego cyklu jest to zbyt skomplikowane i wymaga zbyt szczegółowego omówienia. Mamy jednak nadzieję, że już wkrótce uda nam się opublikować większą ilość materiałów dotyczących pracy z deskryptorami zabezpieczeń.

Do początku strony Do początku strony


Centrum Skryptów - Systemy operacyjne