Jak przezwyciężyć " link symboliczny nie może być przestrzegany, ponieważ jego typ jest wyłączony."error when getting the target of a symbolic link?

Kontynuując z poprzedniego pytania , tworzę dowiązanie symboliczne na serwerze 2008 z komputera Vista za pomocą ścieżek UNC. Mogę stworzyć link w sam raz. Mogę przejść do pola Server 2008 i dwukrotnie kliknąć na link w Eksploratorze, aby otworzyć plik docelowy. Nie mogę jednak użyć FileCreateW, aby uzyskać uchwyt do łącza ścieżki UNC(z Okna Vista). Gdy próbuję, to się nie powiedzie i GetLastError () zwraca kod błędu 1463 (0x5b7), czyli:

Dowiązanie symboliczne nie można go śledzić, ponieważ jego typ jest wyłączony.

Jak włączyć jego " typ " W Server 2008 (zakładając, że błąd oznacza to, co mówi)?

Author: Cœur, 2008-10-23

8 answers

Aby dodać do pomocna odpowiedź Davida Arno , oparta na W7:


fsutil.exe może być wykonane, aby pokazać, jakie argumenty wymaga, po prostu uruchamiając:

fsutil behavior set /?

To zgłoś bieżącą konfigurację , uruchom fsutil behavior query SymlinkEvaluation - Zobacz @Jake1164 odpowiedź , szczególnie w odniesieniu do tego, jak polityka grupy może kontrolować zachowanie.

Rozdzielczość dowiązań symbolicznych jest ustawiona na maszynie, która uzyskuje dostęp dany link , NIE maszyna, która go hostuje.

Kody zachowania dla fsutil behavior set SymlinkEvaluation - mianowicie L2L, L2R, R2L, i R2R - oznaczają:

  • L oznacza "lokalny", a R " zdalny "( kto by pomyślał?)
  • pierwszy L lub R - przed 2 - odnosi się do lokalizacji samego łącza (w przeciwieństwie do jego celu) w stosunku do maszyny uzyskującej dostęp do łącza.
  • drugi L lub R - Po 2 - odnosi się do lokalizacji celu łącza względem maszyny, na której znajduje się samo łącze.

Tak więc, na przykład, wykonanie fsutil behavior set SymlinkEvaluation R2L oznacza, że możesz uzyskać dostęp do linków:

  • znajduje się na odległej maszynie (R)
  • to wskazuje na cele na tej samej odległej maszynie (L)

W przeciwieństwie do tego, czego David doświadczył Na Vista, ja, na W7, byłem w stanie rozwiązać zdalne łącze, które wskazywało na zasób na innej zdalnej maszynie poprzez włączenie samego R2R (a nie konieczności włączania R2L).

 37
Author: mklement0,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:06

Cóż, znalazłem odpowiedź, choć opisanie jej jako źle udokumentowanej jest niedopowiedzeniem!

Po pierwsze, Ten artykuł TechEd podkreśla fakt, że użytkownicy mogą "włączyć lub wyłączyć dowolną z czterech ocen dostępnych w dowiązaniach symbolicznych". Te cztery "oceny" obejmują zdalne do lokalnego i lokalnego do zdalnego. To nie daje żadnych wskazówek, jak to zrobić.

Jednak dalsze poszukiwania ujawniły tę stronę pomocy fsutil , która faktycznie dokumentuje jak "włączyć lub wyłączyć którąkolwiek z czterech ocen dostępnych w dowiązaniach symbolicznych". Aby rozwiązać problem, który miałem, muszę wydać następujące polecenie na Vista box :

fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1

W celu umożliwienia pełnego dostępu do miejsc, w których dowiązania symboliczne są wskazywane zarówno na komputerach lokalnych, jak i zdalnych.

 55
Author: David Arno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-11 17:04:07

Ostatnio znalazłem to na wszystkich moich firmowych skrzynkach Windows 7, gdy jeden z moich starszych programów przestał działać. Po niektórych wyszukiwanie i znalezienie tych ustawień próbowałem ustawić za pomocą wiersza poleceń i poprzez rejestr bez ulgi.

Odkryłem, że można użyć polecenia z podwyższonego wiersza:

fsutil behavior query SymlinkEvaluation

To zwróci status tych linków i w moim przypadku, że są one kontrolowane przez politykę grupową! Dzięki dział IT (you f@$ # %$rs)!

Tutaj wpisz opis obrazka

 9
Author: Jake1164,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-23 11:19:19

Te ustawienia można również manipulować bezpośrednio poprzez rejestr w HKEY_LOCAL_MACHINE \ SYSTEM\CurrentControlSet\Control \ FileSystem : Zob. SymlinkLocalToLocalEvaluation, SymlinkLocalToRemoteEvaluation, SymlinkRemoteToLocalEvaluation, SymlinkRemoteToRemoteEvaluation.

Jeśli z "fsutil behavior query SymlinkEvaluation" otrzymasz wiadomość .."jest obecnie kontrolowana przez politykę grupy"..., sprawdź HKEY_LOCAL_MACHINE\SOFTWARE \ Policies\Microsoft \ Windows \ Filesystems\NTFS lub po prostu wyszukaj w rejestrze "Symlink"

 6
Author: Bulki S Maslom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-23 07:16:21

Dzięki David za podpowiedź, byłem zdesperowany, aby rozwiązać ten problem, który sprawił, że dowiązania symboliczne w większości bezużyteczne.

Należy zauważyć, że domyślna konfiguracja dla Visty to L2L i L2R włączone, ale R2R i R2L wyłączone.

Najpierw próbowałem włączyć tylko R2R, ale to nie wystarczy. R2L też musi być włączony.

Kolejne pytanie na mojej liście: jak pozbyć się tego głupiego przełącznika /D dla Komendy mklink dla linków do katalogów. Należy wywnioskować domyślny typ łącza automatycznie z docelowego typu pathname!

 5
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-17 18:28:37

Te ustawienia mogą być również manipulowane bezpośrednio przez rejestr (wymaga lokalnego administratora do zapisu):

Klucz rejestru: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Wartości rejestru (para nazwa/DANE):

Name                             Type       Data  (1: Enabled; 0: Disabled)
-------------------------------------------------
SymlinkLocalToLocalEvaluation    REG_DWORD     1
SymlinkLocalToRemoteEvaluation   REG_DWORD     1
SymlinkRemoteToLocalEvaluation   REG_DWORD     1
SymlinkRemoteToRemoteEvaluation  REG_DWORD     1

Oficjalna dokumentacja jest trudna do znalezienia, ale wydaje się, że jest to oficjalna strona Microsoftu: selektywnie Zezwalaj na ocenę dowiązania symbolicznego

 2
Author: mwolfe02,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-20 12:58:25

FYI jeśli masz Zasady Grupowe kontrolujące Ustawienia SymlinkEvaluation, możesz je ustawić samodzielnie z linii poleceń. Zostaną one nadpisane przez GP przy następnym restarcie/logowaniu, ale twoje ustawienia będą działać podczas sesji użytkownika.

Więc jako obejście, jeśli chcesz ustawić go na coś innego niż to, co dyktuje GP, możesz nawet uruchomić skrypt w logonie, aby ustawić je po zastosowaniu GP.

 2
Author: Ryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-15 22:34:21

Zdalne punkty przyłączeniowe działają domyślnie. Do plików nadal potrzebne są dowiązania symboliczne.

 1
Author: Ian Kelling,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-08 04:19:14