2010-08-04 13:49:40 +0000 2010-08-04 13:49:40 +0000
128
128

Een programma dwingen om *zonder* beheerdersrechten of UAC?

te draaien Is er een manier waarop ik een programma dat normaal gesproken beheerdersrechten nodig heeft (via UAC) kan dwingen om zonder deze rechten te draaien? (d.w.z.: geen UAC prompt en geen systeembrede toegang.)

Toegevoegd: Zonder de executable zelf te wijzigen.

  • *

Ondanks het antwoord van James heb ik een paar manieren gevonden waarop het allemaal kan worden gedaan:

  1. 1. Door het wijzigen van de executable kan ik de trustInfo entry uit het manifest verwijderen (of het manifest in zijn geheel, zodat ik een externe kan gebruiken), waardoor het programma zonder UAC kan starten. Helaas wijzigt dit de executable, zodat deze kort daarna door een interne controlesomtest wordt afgesloten.
  2. 2. Door gebruik te maken van Process Explorer kan ik het opstarten als Limited User. Dit lijkt het echter aanzienlijk meer te beperken dan ik zou willen (het draait als Protected Mode IE en kan dus beduidend minder toegang krijgen dan mijn standaard ongecontroleerde gebruiker kan).

Antwoorden (9)

76
76
76
2012-07-18 15:20:44 +0000
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker]
@="Run without privilege elevation"

[HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command]
@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

Sla deze tekst op in <name_of_file>.reg en voeg deze toe aan het Windows register. (Dubbelklikken zou de truc moeten zijn.)

Klik daarna met de rechtermuisknop op de app die je wilt draaien zonder beheerdersrechten en selecteer “Run without privilege elevation”.

In sommige gevallen - kleine hoeveelheid 0,1% van de programma’s kunnen twee keer vragen over UAC prompt.

57
57
57
2015-10-02 11:27:02 +0000

Opslaan in nonadmin.bat: cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Nu kun je programma’s hier naartoe slepen om ze zonder admin uit te voeren.

Dit vereist geen admin-rechten zoals het veranderen van die registersleutel. Ook zult u het contextmenu niet vertroebelen.

Gebaseerd op Vom’s antwoord

  • *

Update: Moet nu ook werken met programma’s die spaties in naam hebben.

35
35
35
2012-01-05 08:15:03 +0000

Ik hoop dat ik niet te laat ben voor de partij, maar ik was op zoek naar een soortgelijke vraag en zonder hier een antwoord te zien kwam ik erachter dat Windows’ ingebouwde RunAs-commando, wanneer het wordt uitgevoerd als beheerder, dat kan doen met /trustlevel-schakelaar.

RUNAS /trustlevel:<TrustLevel> program

/showtrustlevels displays the trust levels that can be used
                  as arguments to /trustlevel.
/trustlevel <Level> should be one of levels enumerated
                  in /showtrustlevels.

Dit werkte in mijn geval. Ironisch genoeg vereist het starten van een programma expliciet zonder elevatie ** een verhoogde opdrachtprompt**. Ga figuur. :) Ik hoop dat het je helpt.

19
19
19
2016-09-09 20:16:13 +0000

Als u een bepaalde toepassing hebt die u altijd zonder UAC wilt uitvoeren, kunt u deze richten met het register (voeg de tekst toe aan een REG-bestand en importeer deze in het register):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\example\application.exe"="RunAsInvoker"

In tegenstelling tot dit antwoord vereist deze oplossing geen alternatieve klik of verandering in de gebruikersinteractie.

Microsoft noemt dit proces het toevoegen van de RunAsInvoker “Compatibiliteitsshim” .

4
4
4
2019-01-25 11:54:23 +0000

Als het een setup (installatie) exe bestand is dat administratiebevoegdheid vereist, is er een truc om het te draaien zonder verhoogde toegang:

Als de naam van het bestand woorden als setup of install windows bevat, draait het krachtig met verhoogde toegang, zelfs als het geen verhoogde toegang nodig heeft:

Als de . exe bestand een manifest bevat, zijn deze heuristieken voor elevatie niet van toepassing.

bijvoorbeeld als het manifest aangeeft dat de exe geen elevatie nodig heeft, zelfs als een van deze woorden in de bestandsnaam niet als elevated wordt uitgevoerd.

Een ander trefwoord is patch zoals vermeld door Mgamerz in het commentaar.

Dit is gedocumenteerd in de UAC (User Account Control) docs:

Installer detectie detecteert setup bestanden, wat helpt te voorkomen dat installaties worden uitgevoerd zonder medeweten en toestemming van de gebruiker.

Installer detectie geldt alleen voor:

  • 32-bit uitvoerbare bestanden.

  • Applicaties zonder een gevraagd uitvoeringsniveau attribuut.

  • Interactieve processen die als standaardgebruiker draaien met UAC ingeschakeld.

Voordat een 32-bits proces wordt aangemaakt, worden de volgende attributen gecontroleerd om te bepalen of het een installateur is:

  • De bestandsnaam bevat trefwoorden als “installeren”, “setup” of “update.”

leesmodus hier: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works

3
3
3
2011-05-18 01:05:06 +0000

Ik heb dit probleem vandaag opgelost met behulp van de MS-applicatie maatwerk toolkit.

Ik heb de instructies gevolgd in een tech republic artikel .

In principe:

1) je krijgt de toolkit van MS hier .

2) Klik op Fix

3) Kies de RunAsInvoker optie

4) Klik met de rechtermuisknop op de fix en kies Installeren

2
2
2
2013-07-21 02:56:41 +0000

Terwijl Andrew in zijn vraag stelde dat het volgende niet helemaal werkte:

Door het aanpassen van de executable kan ik de trustInfo entry uit het manifest verwijderen (of het manifest in zijn geheel, zodat ik een externe kan gebruiken), waardoor het programma zonder UAC kan starten. Helaas wijzigt dit de executable, zodat deze kort na een interne checksum test afsluit.

Ik was in staat om een extern .manifest bestand te wijzigen voor de software die ik gebruikte en

<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> te wijzigen in <ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />

Blijkt dat de software die ik gebruikte niet echt beheerdersrechten nodig had, zodat ik het kon draaien op een Standaard Gebruikersaccount zonder UAC of beheerderswachtwoorden. Bedankt!

-2
-2
-2
2012-04-20 04:28:43 +0000

Ik heb dit probleem opgelost door de rechten op de map met het programma te wijzigen.

Ik heb elke gebruiker die dat programma zal uitvoeren toegevoegd en hen “volledige controle” privileges gegeven. Dat heeft het probleem opgelost en ik heb de “run as admin” niet aangevinkt.

Ik maak me geen zorgen over de veiligheid van de gebruikers die het programma gaan draaien.

-5
-5
-5
2010-08-04 14:09:46 +0000

Nee, als een programma UAC nodig heeft, dan probeert het toegang te krijgen tot iets buiten zijn zandbak. Het programma zal niet correct draaien zonder de verhoogde toegang.

Als je gewoon van de melding af wilt, kun je UAC.

uitschakelen op Windows Vista: Start, type “gebruiker”. Klik op “User Accounts”. In het venster dat verschijnt, klik op “User Account Control Settings” en schakel vervolgens UAC uit.

UAC uitschakelen onder Windows 7: Start, type “user”. Klik op “User Account Control Settings”. Sleep de keuzebalk helemaal naar beneden naar “Never Notify”.