Uprawnienia do systemu Windows 8

3

Dwa dni temu ukończyłem standardową instalację systemu Windows 8. To była nowa instalacja. Jednak Windows 7 był już na dysku, a instalator przeprowadził migrację do Windows.old.

Z jakiegoś dziwnego i dziwnego powodu staram się „pisać” na mój dysk w odniesieniu do aplikacji .NET. Wygląda na to, że żadna z moich aplikacji .NET (samozapisanych) nie może zapisywać w swoich plikach dziennika na dysku, które są tworzone podczas uruchamiania.

Wyłączyłem UAC, a także ustawiłem pełną kontrolę nad dyskiem C: dla mojego użytkownika, ale nie miałem szczęścia. Wciąż pojawia się błąd:

Klient nie posiada wymaganego przywileju.

Zrobiłem Google i wypróbowałem kilka samouczków online, ale nadal nie miałem szczęścia!

Dane Balia
źródło
Całkowite wyłączenie kontroli konta użytkownika w systemie Windows 8 nie jest takie, jak w systemie Windows 7, należy również zmienić DWORDaw rejestrze. Jest w HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System, EnableLUAi ustawić 0całkowicie wyłącza UAC. Ale nie poleciłbym tego, a także zauważ, że stracisz aplikacje Metro, ponieważ zależą one od UAC.
Xandy,
1
Musisz wymusić własność wszystkich plików. Prawdopodobnie dokonałeś aktualizacji w dziwny sposób, ponieważ użyłeś terminów „migracja” i „czysta instalacja”, które, jeśli faktycznie „zdystansowaliście się”, nie byłyby czystą instalacją. Istnieją dziesiątki artykułów na temat przejmowania własności pliku w systemie Windows.
Ramhound,
Dzięki za twoją odpowiedź. Przez czystą instalację - mam na myśli, że nie uaktualniłem, ale instalacja systemu Windows przeprowadziła migrację mojego starego systemu operacyjnego do systemu Windows. Przeczytałem kilka artykułów i będę nadal szukać. Mimo że na przykład mam pełną kontrolę nad plikiem dziennika (jestem w grupie administratorów i zmieniłem określone prawo własności do pliku), nadal pojawia się ten sam błąd.
Dane Balia,
@DaneBalia - czy zmieniłeś właściciela pliku, po prostu zmieniając grupę, nie zaktualizujesz konkretnych informacji o uprawnieniach do identyfikatora GUID używanych przez system Windows.
Ramhound,
To nie jest błąd uprawnień.
SLaks

Odpowiedzi:

4

Zainstalowałem system Windows 8 w bardzo podobny sposób i pozostało mi wiele folderów, które wymagały podwyższonych uprawnień do operacji zapisu. Twoje aplikacje .NET prawdopodobnie znajdują się na koncie, który nie może wykonywać tych działań, niezależnie od tego, czy piszą do tych folderów ogólnie, czy też je podwyższają (nie jestem strasznie informowany o tym, jak działają aplikacje .NET).


Na szczęście rozwiązanie powinno być dość proste. Przejmij na własność folder.

Na przykład mój folder PerfLogs ma trochę niechlujnych uprawnień (tak, zdaję sobie sprawę, że PerfLogs ma różne uprawnienia, ale było to przydatne). Wypróbuj to z folderem dzienników. Otwórz właściwości i spójrz na kartę bezpieczeństwa:

wprowadź opis zdjęcia tutaj

Kliknij Zaawansowane. Widać, że nie mam uprawnień, aby nawet przeglądać uprawnienia. Twoja sprawa może nie być tak ekstremalna:

wprowadź opis zdjęcia tutaj

Kliknij Kontynuuj i spójrz na zaawansowane ustawienia bezpieczeństwa. Oto, gdzie podejrzewam, że coś Ci się nie udaje:

wprowadź opis zdjęcia tutaj

Jeśli tylko administratorzy mogą zapisywać w folderze dzienników, a aplikacja .NET nie jest administratorem, dzienniki nie będą zapisywane.


Przyłóż się do użytkownika, pod którym działa Twoja aplikacja .NET i dowiedz się, czy w folderze dziennika jest dozwolone zapisywanie. To nie będzie trudne i szybkie rozwiązanie, ponieważ nie ma problemu. Najgorszy scenariusz, spróbuj dodać Everyonez Full accesstymczasowo, aby zobaczyć, czy to rozwiąże problem.

Tanner Faulkner
źródło
0

Uznałem to również za pomocne dla tych, którzy mogą cierpieć z powodu problemu:

http://answers.microsoft.com/en-us/windows/forum/windows_vista-security/error-0x80070522-a-required-privilege-is-not-held/78cc11ec-c543-418d-9183-131318e9db8a

Aby całkowicie uruchomić system Windows 8 w trybie administratora, ponieważ nie można wyłączyć UAC po staremu, sprawdź to: http://www.neowin.net/forum/topic/1120770-windows-8-run-everything-as-administrator/

Dane Balia
źródło
0

Uruchom CMD i uruchom go jako administrator. Wpisz następujące polecenie:

net user administrator /active:yes 

Wyloguj się, zaloguj jako nowo utworzony administrator. Właśnie masz uprawnienia administratora. Po prostu skopiuj wszystko z poprzedniego profilu do nowego.

Rustee
źródło