Zmiany NET USE nie propagują się do Eksploratora

0

Mam skrypt, którego używam, aby zmodyfikować mapowania dysków w moim systemie. Wykonuje zarówno NET USE [Drive Letter] [Share Path]a NET USE [Drive Letter] /delete, a obie te operacje zakończy się pomyślnie (co potwierdził NET USEna własną rękę), ale kiedy otworzyć Eksploratora plików, wszelkie Mappings że zmienione, dodane lub usunięte przez nie są wyświetlane, a może nawet jeszcze dostępu do Udostępnione foldery za pośrednictwem tych mapowań.

Na przykład:

  • Tworzę mapowanie (B :) do \\127.0.0.1\ShareA, do którego mogę uzyskać dostęp, przechodząc doB:
  • Następnie biegnę NET USEi otrzymuję listę z jednym wpisem mówiącymStatus: OK, Local: B, Remote \\127.0.0.1\ShareA...
  • Następnie uruchamiam NET USE B: \\127.0.0.1\ShareB, który odczyt potwierdzający operację zakończył się powodzeniem
  • Ponownie uruchamiam NET USE, a wartość pojedynczego wpisu zmieniono na wartość Remote\\127.0.0.1\ShareB
  • Otwieram Eksploratora (lub Uruchom) i przechodzę do B:, i dostaję ShareA, nieShareB

Zrobiłem to samo, z /deletepierwszym udanym zakończeniem, następnym błędem zgłaszania błędu 2250 (nie istnieje), ale mapowanie nadal występuje w Eksploratorze plików.

Co się dzieje, co uniemożliwia propagowanie tych zmian do Eksploratora?

PS Korzystam z CMD jako Administrator, próbowałem również Uruchomić ponownie Windows Explorerproces (w przypadku folderów i powłoki mam dwa oddzielne), ale żadne z nich nie miało znaczenia. Mam zamiar spróbować ponownie uruchomić komputer, ale nie jest to prawidłowe rozwiązanie, ponieważ zmiany te należy wprowadzić, gdy system jest uruchomiony.

PPS Właśnie próbowałem NET USE \\127.0.0.1\ShareA /delete, ale otrzymuję ten sam błąd 2250

topherg
źródło

Odpowiedzi:

1

Znalazłem problem. Było tak, ponieważ CMD działał jako administrator. Desperacko próbując to naprawić, próbowałem uruchomić CMD normalnie, a zmiany te są teraz stosowane. Chociaż wydaje się to sprzeczne z intuicją, wydaje się, że gdy działa jako administrator, USEdziała w innym kontekście.

Nie wiem, co to oznacza UAC, ale widziałem skrypty, w których konsola może mieć podwyższone uprawnienia bezpieczeństwa podczas działania. Być może, jeśli ktoś ma ten problem, być może będzie w stanie sprawdzić, czy to działa.

topherg
źródło
2
Jest to oczekiwane zachowanie. Po uruchomieniu jako administrator ten program działa w innym środowisku. Inny profil, jeśli chcesz. Z tego samego powodu, jeśli uruchomisz jako administrator instalatora, który chcesz zainstalować w udziale sieciowym, nie znajdziesz żadnych udziałów, ponieważ nie jest to twój własny użytkownik. Więc jeśli otworzysz monit cmd jako administrator i wykonasz tam korzystanie z sieci, instalator zobaczy udziały sieciowe.
LPChip
@LPChip Pozdrawiam za ten bud wyjaśniający! Bardzo pomocny!
Myślałbym,