Kontroll av användarkonto
Not
Den här designguiden skapades för Windows 7 och har inte uppdaterats för nyare versioner av Windows. Mycket av vägledningen gäller fortfarande i princip, men presentationen och exemplen återspeglar inte vår nuvarande designvägledning.
En väl utformad användarkontokontroll hjälper till att förhindra oönskade systemomfattande ändringar på ett sätt som är förutsägbart och kräver minimal ansträngning.
Med UAC (User Account Control) fullt aktiverat körs interaktiva administratörer vanligtvis med minst användarbehörighet, men de kan själv höja för att utföra administrativa uppgifter genom att ge uttryckligt medgivande med användargränssnittet för medgivande. Sådana administrativa uppgifter omfattar installation av programvara och drivrutiner, ändring av systemomfattande inställningar, visning eller ändring av andra användarkonton och körning av administrativa verktyg.
I det minst privilegierade tillståndet kallas administratörer för skyddade administratörer. I sitt upphöjda tillstånd kallas de för upphöjda administratörer. Standardanvändare kan däremot inte höja sig själva, men de kan be en administratör att höja dem med hjälp av användargränssnittet för autentiseringsuppgifter. Det inbyggda administratörskontot kräver inte utökade privilegier.
Användargränssnittet för medgivande, som används för att höja skyddade administratörer till att ha administratörsbehörighet.
Användargränssnittet för autentiseringsuppgifter som används för att höja standardanvändare.
UAC ger följande fördelar:
- Det minskar antalet program som körs med förhöjd behörighet, vilket hjälper till att förhindra att användare oavsiktligt ändrar sina systeminställningar och hjälper till att förhindra att "skadlig kod" får systemomfattande åtkomst. När utökade privilegier nekas kan skadlig kod bara påverka den aktuella användarens data. Utan utökade privilegier kan skadlig kod inte göra ändringar i hela systemet eller påverka andra användare.
- För hanterade miljöergör väl utformade UAC-upplevelser att användarna kan vara mer produktiva när de körs som standardanvändare genom att ta bort onödiga begränsningar.
- Det ger Standard-användare möjlighet att be administratörer att ge dem behörighet att utföra administrativa uppgifter i sin aktuella session.
- För hemmiljöer ger det bättre föräldrakontroll över systemomfattande ändringar, inklusive vilken programvara som installeras.
Utvecklare: Information om implementering finns i Ändra design av användargränssnittet för UAC-kompatibilitet.
I Windows Vista kan skyddade administratörer välja att meddelas om alla systemändringar eller inga. Standardinställningen för UAC är att meddela om alla ändringar, oavsett ursprung. När du får ett meddelande kommer skrivbordet att vara nedtonat och du måste antingen godkänna eller neka begäran i UAC-dialogrutan innan du kan göra något annat på datorn. Nedtoning av skrivbordet kallas säkert skrivbord eftersom andra program inte kan köras när det är nedtonat.
Windows 7 introducerar två mellanliggande UAC-inställningar för skyddade administratörer, utöver de två från Windows Vista. Den första är att meddela användarna endast när ett program gör ändringen, så administratörer höjs automatiskt när de gör en ändring själva. Det här är UAC-standardinställningen i Windows 7 och använder även det säkra skrivbordet.
Den andra mellanliggande inställningen i Windows 7 är densamma som den första förutom att den inte använder det säkra skrivbordet.
Windows 7 introducerar två mellanliggande UAC-inställningar.
Obs! riktlinjer som rör att skriva kod för att stödja för användarkontokontroll visas i en separat artikel.
Designbegrepp
mål
En väl utformad användarkontokontrollupplevelse har följande mål:
- Eliminera onödig höjning. Användare bör bara behöva höja upp för att utföra uppgifter som kräver administratörsbehörighet. Alla andra uppgifter bör utformas för att eliminera behovet av utökade privilegier. Ofta kräver äldre programvara administratörsbehörigheter i onödan genom att skriva till HKLM- eller HKCR-registeravsnitten, eller programfilerna eller Windows-systemmapparna.
- Var förutsägbar. Standardanvändare behöver veta vilka uppgifter som kräver att en administratör utför eller inte kan utföras alls i hanterade miljöer. Administratörer behöver veta vilka uppgifter som kräver utökade privilegier. Om de inte kan förutsäga behovet av utökade privilegier korrekt är det mer troligt att de ger sitt medgivande till administrativa uppgifter när de inte borde göra det.
- Kräv minimal ansträngning. Uppgifter som kräver administratörsbehörighet bör utformas för att kräva en enda höjning. Uppgifter som kräver flera utökade privilegier blir snabbt omständliga.
- Återgå till minsta möjliga behörighet. När en uppgift som kräver administratörsbehörighet har slutförts bör programmet återgå till det lägsta behörighetstillståndet.
utökade aktivitetsflöden
När en uppgift kräver utökade privilegier har den följande steg:
Startpunkt. Uppgifter som kräver omedelbar höjning när UAC är helt aktiverat har startpunkter markerade med UAC-skölden. I det här fallet bör användarna förvänta sig att se ett utökade användargränssnitt omedelbart efter att ha klickat på sådana kommandon och de bör vara extra försiktiga när de ser utökade användargränssnitt från uppgifter som inte har någon sköld.
I det här exemplet kräver kontrollpanelsobjekten för föräldrakontroll och användarkonton utökade.
När UAC delvis är aktiverat eller helt inaktiverat visas UAC-skölden fortfarande för att indikera att uppgiften omfattar ändringar på systemnivå och därför kräver utökade privilegier, även om användaren kanske inte ser användargränssnittet för utökade privilegier. Om UAC-skölden alltid visas för uppgifter som kräver utökade privilegier är användargränssnittet enkelt och förutsägbart.
Höjd. För skyddade administratörer begär uppgiften medgivande med hjälp av användargränssnittet för medgivande. För Standard-användare begär uppgiften administratörsautentiseringsuppgifter med hjälp av användargränssnittet för autentiseringsuppgifter.
De här exemplen visar användargränssnittet för autentiseringsuppgifter och användargränssnittet för medgivande.
Separat upphöjd process. Internt skapas en ny upphöjd process för att utföra uppgiften.
Återgå till minsta möjliga behörighet. Om det behövs återgår du till minsta möjliga behörighet för att slutföra alla steg som inte kräver utökade privilegier.
Observera att uppgifter inte "kommer ihåg" upphöjda tillstånd. Om användaren till exempel navigerar fram och tillbaka över en startpunkt för utökade privilegier i en guide måste användaren höja varje gång.
Användningsmönster
User Account Control har flera användningsmönster (i prioritetsordning):
Arbeta för standardanvändare. Utforma funktionen för alla användare genom att begränsa dess omfång till den aktuella användaren. Genom att begränsa inställningarna till den aktuella användaren (till skillnad från hela systemet) eliminerar du behovet av ett utökade användargränssnitt helt och gör det möjligt för användare att slutföra uppgiften.
felaktig:
I det här exemplet var Windows XP-användare tvungna att ha administratörsbehörighet för att visa eller ändra den aktuella tidszonen.
rätt:
I det här exemplet har tidszonsfunktionen gjorts om i Windows 7 och Windows Vista för att fungera för alla användare.
Ha separata gränssnittselement för standardanvändare och administratörer. Separera tydligt standardanvändaruppgifter från administrativa uppgifter. Ge alla användare åtkomst till användbar skrivskyddad information. Identifiera tydligt administrativa uppgifter med UAC-skölden.
I det här exemplet visar objektet Systemkontrollpanelen dess tillstånd för alla användare, men om du ändrar inställningarna för hela systemet krävs utökade privilegier.
Tillåt standardanvändare att försöka utföra uppgifter och höja vid fel. Om Standard-användare kan visa informationen och kan göra vissa ändringar utan utökade privilegier tillåter du dem att komma åt användargränssnittet och låta dem höja endast om uppgiften misslyckas. Den här metoden är lämplig när Standard-användare har begränsad åtkomst, till exempel med egenskaper för sina egna filer i Utforskaren i Windows. Den är också lämplig för inställningar på hybridhubbsidor i Kontrollpanelen.
I det här exemplet försökte användaren ändra programfilegenskaperna men hade inte tillräcklig behörighet. Användaren kan höja och försöka igen.
Arbeta endast för administratörer. Använd endast den här metoden för administratörsfunktioner och program! Om en funktion endast är avsedd för administratörer (och inte har några navigeringsvägar eller användbar skrivskyddad information för Standard-användare) kan du fråga efter administratörsautentiseringsuppgifter vid startpunkten innan du visar något användargränssnitt. Använd den här metoden för långa guider och sidflöden när alla sökvägar kräver administratörsbehörighet.
Om hela programmet endast är för administratörer markerar du det för att fråga efter administratörsautentiseringsuppgifter för att starta. Windows visar sådana programikoner med UAC-sköldöverlägget.
I det här exemplet kräver programmet administratörsbehörighet för att starta.
Riktlinjer
UAC-sköldikon
Visa kontroller med UAC-skölden för att indikera att uppgiften kräver omedelbar höjning när UAC är helt aktiverat även om UAC för närvarande inte är helt aktiverat. Om alla sökvägar i en guide och sidflöde kräva utökade privilegier, visar du UAC-skölden vid aktivitetens startpunkt. Korrekt användning av UAC-skölden hjälper användarna att förutsäga när utökade privilegier krävs.
Om programmet stöder flera versioner av Windows visar du UAC-skölden om minst en version kräver utökade privilegier. Eftersom Windows XP aldrig kräver utökade privilegier bör du överväga att ta bort UAC-sköldarna för Windows XP om du kan göra det konsekvent och utan att skada prestanda.
Visa inte UAC-skölden för uppgifter som inte kräver utökade privilegier i de flesta sammanhang. Eftersom den här metoden ibland är missvisande är den bästa metoden att använda ett korrekt avskärmat kontextuellt kommando i stället.
Eftersom kommandot Ny mapp endast kräver utökade privilegier när det används i systemmappar visas det utan UAC-sköld.
UAC-skölden kan visas på följande kontroller:
kommandoknappar:
En kommandoknapp som kräver omedelbar höjning.
kommandolänkar:
En kommandolänk som kräver omedelbar höjning.
länkar:
En länk som kräver omedelbar höjning.
menyer:
En nedrullningsbara meny som kräver omedelbar höjning.
Eftersom uppgifter inte kommer ihåg förhöjda tillstånd ändrar inte UAC-skölden så att den återspeglar tillståndet.
Visa UAC-skölden även om användarkontokontrollen har inaktiverats eller om användaren använder det inbyggda administratörskontot. Att konsekvent visa UAC-skölden är enklare att programmera och ger användarna information om aktivitetens natur.
Höjd
När det är möjligt utformar du uppgifter som ska utföras av Standard-användare utan utökade privilegier. Ge alla användare åtkomst till användbar skrivskyddad information.
Höj per uppgift, inte per inställning. Blanda inte standardanvändarinställningar med administrativa inställningar på en enda sida eller dialogruta. Om standardanvändare till exempel kan ändra vissa men inte alla inställningar delar du upp inställningarna som en separat gränssnittsyta.
felaktig:
I det här exemplet blandas standardanvändarinställningar felaktigt med administrativa inställningar.
rätt:
I det här exemplet finns inställningarna för att ändra datum och tid i en separat dialogruta, som endast är tillgänglig för administratörer. Tidszonsinställningarna är tillgängliga för Standard-användare och blandas inte med administrativa inställningar.
Tänk inte på behovet av att höja när du avgör om en kontroll ska visas eller inaktiveras. Detta beror på att:
- I ohanterade miljöer förutsätter du att Standard-användare kan höja genom att fråga en administratör. Om du inaktiverar kontroller som kräver utökade privilegier kan användarna inte låta administratörer höjas.
- I hanterade miljöer förutsätter du att Standard-användare inte kan höja alls. Om du tar bort kontroller som kräver utökade privilegier kan användarna inte veta när de ska sluta leta.
För att eliminera onödig höjning:
- Om en uppgift kan kräva utökade privilegier ska du höja så sent som möjligt. Om en aktivitet behöver en bekräftelsevisar du användargränssnittet för utökade privilegier först när användaren har bekräftat det. Om en uppgift alltid kräver utökade privilegier höjer du vid startpunkten.
- När den är förhöjd förblir förhöjd tills utökade privilegier inte längre behövs. Användare ska inte behöva höja flera gånger för att utföra en enda uppgift.
- Om användarna måste höja för att göra en ändring men väljer att inte göra några ändringar lämnar du de positiva incheckningsknapparna aktiverade men hanterar incheckningen som ett avbrott. Detta eliminerar användare som behöver höja bara för att stänga ett fönster.
- felaktig:
-
- I det här exemplet inaktiveras knappen Spara ändringar för att undvika onödiga utökade privilegier, men aktiveras när användarna ändrar markeringen. Den inaktiverade incheckningsknappen gör dock att det ser ut som om användarna verkligen inte har något val.
Visa inte ett felmeddelande när aktiviteter misslyckas eftersom användarna valde att inte höja. Anta att användarna avsiktligt valde att inte fortsätta, så att de inte ser den här situationen som ett fel.
felaktig:
I det här exemplet ger Fabrikam Restore felaktigt ett felmeddelande när användaren bestämmer sig för att inte höja.
Visa inte varningar för att förklara att användare kan behöva höja sina behörigheter för att utföra uppgifter. Låt användarna upptäcka detta på egen hand.
Visa UAC-skölden och utökade användargränssnitt baserat på följande tabell:
Objekt Omständighet Var du ska placera UAC-sköld När du ska höja Program Hela programmet är endast för administratörer.
UAC-sköldöverlägg på programikonen.Visa utökade användargränssnitt vid start. Befallning Hela kommandot är endast för administratörer.
UAC-sköld på kommandoknapp eller länk.Visa utökade användargränssnitt när kommandoknappen eller länken klickas, men efter eventuella bekräftelser. Befallning Kommandot visar användbar skrivskyddad information som är lämplig för alla användare, men ändringar kräver administratörsbehörighet.
UAC-skärm på kommandoknappen eller länken för att göra ändringar.Visa utökade användargränssnitt när kommandoknappen klickas, men efter eventuella bekräftelser. Befallning Standardanvändare kan visa informationen och eventuellt göra vissa ändringar utan utökade privilegier. tillåta standardanvändare att försöka och höja vid fel.
Visa inte UAC-skölden för kommandot, men visa den för startpunkten för utökade privilegier om kommandot misslyckas.Visa utökade användargränssnitt när användaren försöker köra kommandot igen. Uppgiftssteg Alla efterföljande steg kräver utökade privilegier.
UAC-sköld på nästa knapp (eller motsvarande).Visa utökade användargränssnitt när nästa eller annan incheckningsknapp klickas. Uppgiftssteg Vissa grenar kräver utökade privilegier.
UAC-sköld på kommandolänkar som kräver utökade privilegier.Visa utökade användargränssnitt när kommandolänkar med UAC-skölden klickas.
Användargränssnitt för utökade privilegier
- Om användaren tillhandahåller ett konto som inte är giltigt (namn eller lösenord) eller inte har administratörsbehörighet kan du bara ändra användargränssnittet för autentiseringsuppgifter. Visa inget felmeddelande.
- Om användaren avbryter användargränssnittet för autentiseringsuppgifter returnerar du användaren tillbaka till det ursprungliga användargränssnittet. Visa inget felmeddelande.
- Om User Account Control har inaktiverats och en Standard-användare försöker utföra en uppgift som kräver utökade privilegier, anger du ett felmeddelande med texten "Den här uppgiften kräver administratörsbehörighet. Om du vill utföra den här uppgiften måste du logga in med ett administratörskonto."
I det här exemplet har User Account Control inaktiverats, så ett felmeddelande förklarar att användaren måste använda ett administratörskonto.
Guider
- Höj inte flera gånger. När en guide är upphöjd bör den förbli upphöjd.
- Om uppgiften utförs i guiden placerar du en UAC-sköld på knappen Nästa för incheckningssidan (som bör ges en mer specifik etikett). När användaren checkar in:
- Om nästa sida är en förloppssida går du vidare till den sidan och visar användargränssnittet för utökade privilegier. Utför uppgiften efter en lyckad höjning.
- Om nästa sida är en sida för slutförande går du vidare till den sidan (men ersätter tillfälligt innehållet med "Väntar på behörighet...") och visar användargränssnittet för utökade privilegier. När höjningen är klar utför du uppgiften och visar sedan innehållet på sidan Slutförande.
- Om användaren avbryter användargränssnittet för utökade privilegier går du tillbaka till sidan Incheckning. Om du gör det kan användaren försöka igen.
- Om uppgiften utförs när guiden har slutförts placerar du en UAC-sköld på incheckningssidans knappen "Slutför" (som bör ges en mer specifik etikett). När användaren checkar in:
- Stanna kvar på sidan Incheckning och visa användargränssnittet för utökade privilegier. Stäng guiden efter lyckad höjning.
- Om användaren avbryter användargränssnittet för utökade privilegier går du tillbaka till sidan Incheckning. Om du gör det kan användaren försöka igen.
- För långa guider som endast är avsedda för administratörer kan du fråga efter administratörsautentiseringsuppgifter vid startpunkten innan du visar något användargränssnitt.
SMS
- Använd inte en ellips bara för att ett kommando kräver utökade privilegier. Behovet av att höja anges med UAC-skölden.
Dokumentation
När du refererar till User Account Control:
- Se funktionen som User Account Control (vid första omnämnandet) eller UAC (vid senare omnämnande), inte Minst privilegierat användarkonto eller LUA.
- Referera till icke-administratörer som standardanvändare.
- Se inbyggda datoradministratörer som inbyggda administratörer.
I användardokumentationen:
- Se den handling där samtycke ges för att utföra en administrativ uppgift som att ge behörighet.
I programmering och annan teknisk dokumentation:
- Se handlingen att ge medgivande för att utföra en administrativ uppgift som utökade privilegier.
- När det gäller UAC refererar du till administratörer som skyddade administratörer när de inte är upphöjda och Upphöjda administratörer efter utökade privilegier.
- Se dialogrutan som används för att ange lösenord som användargränssnittet för autentiseringsuppgifter. Se dialogrutan som används för att ge medgivande som användargränssnitt för medgivande. Referera till båda i allmänhet som UI för utökade privilegier.