Udostępniono w sieci lokalnej jako udział specjalny folder o nazwie egzamin znajdujący się na komputerze o nazwie SERWER_2 w katalogu głównym dysku C:. Jak powinna wyglądać ścieżka dostępu do katalogu egzamin, w którym przechowywany jest folder macierzysty dla konta użytkownika o określonym loginie?
Ścieżka \\SERWER_2\egzamin$\%USERNAME% jest poprawna, bo ma prawidłową składnię UNC używaną w Windows do dostępu do zasobów sieciowych. Ogólny zapis wygląda tak: \\nazwa_komputera\nazwa_udzialu\sciezka_wewnatrz_udzialu. W tym przypadku SERWER_2 to nazwa komputera udostępniającego zasób, a egzamin$ to nazwa udziału specjalnego, czyli ukrytego udziału sieciowego. Znak $ dopisuje się na końcu nazwy udziału, nie na początku. Dzięki temu udział nie jest normalnie widoczny podczas przeglądania sieci, ale nadal można się do niego dostać, jeśli zna się dokładną ścieżkę i ma odpowiednie uprawnienia. Fragment %USERNAME% to zmienna środowiskowa systemu Windows, która zostanie zastąpiona loginem aktualnego użytkownika, np. dla użytkownika adam ścieżka wskaże \\SERWER_2\egzamin$\adam. Tak często konfiguruje się foldery macierzyste użytkowników w domenie, np. w Active Directory. Moim zdaniem to bardzo praktyczny schemat, bo administrator nie musi osobno wpisywać ścieżki dla każdego konta, tylko korzysta z automatycznego podstawienia loginu. Dobrą praktyką jest też ustawienie uprawnień NTFS i uprawnień udziału tak, żeby użytkownik miał dostęp tylko do własnego katalogu, a administratorzy mogli nim zarządzać.
W tego typu zadaniu najłatwiej pomylić dwie rzeczy: nazwę udziału sieciowego oraz składnię zmiennej środowiskowej. W systemach Windows ścieżka UNC zawsze zaczyna się od dwóch ukośników odwrotnych, potem podaje się nazwę komputera, nazwę udziału i ewentualnie dalszy katalog. Jeżeli folder C:\egzamin został udostępniony jako udział specjalny, to znak $ umieszcza się na końcu nazwy udziału, czyli powstaje egzamin$. Nie zapisuje się tego jako $egzamin, bo wtedy system szukałby udziału o dokładnie takiej nazwie, zaczynającej się od dolara. Teoretycznie administrator mógłby ręcznie utworzyć udział o dziwnej nazwie, ale w standardowej praktyce Windows ukryty udział oznacza właśnie końcowy znak $. Błędne jest też dokładanie dolara zarówno na początku, jak i na końcu, bo wtedy nazwa udziału nie odpowiada nazwie egzamin$ wskazanej w treści. Druga typowa pułapka dotyczy zapisu loginu użytkownika. W Windows zmienne środowiskowe zapisuje się między znakami procentu, na przykład %USERNAME%. Taki zapis zostanie rozwinięty do nazwy aktualnie zalogowanego konta. Konstrukcja %$USERNAME% oznaczałaby próbę odczytu zmiennej o nazwie $USERNAME, a taka zmienna normalnie nie istnieje. Z mojego doświadczenia wynika, że uczniowie często kojarzą znak $ z udziałami administracyjnymi typu C$, a potem przenoszą go w złe miejsce. Trzeba zapamiętać prostą zasadę: w nazwie ukrytego udziału $ jest na końcu, a zmienna użytkownika ma dokładnie postać %USERNAME%.