Du har ikke tillatelse til å kjøre den nødvendige klienttypen. Kjøre programmet uten administratorrettigheter og undertrykke UAC-forespørselen. __COMPAT_LAYER miljøvariabel og RunAsInvoker-parameter

Mange programmer krever heving av rettigheter ved oppstart (et skjoldikon ved siden av ikonet), men faktisk krever de ikke administratorrettigheter for normal drift (for eksempel har du manuelt gitt de nødvendige rettighetene til brukere for programkatalogen i ProgramFiles og registergrenene som brukes av programmet). Følgelig, når du kjører et slikt program som en enkel bruker, hvis brukerkontokontroll er aktivert på datamaskinen, vil en UAC-ledetekst vises, og brukeren vil bli bedt om å angi administratorpassordet. For å omgå denne mekanismen, deaktiverer mange ganske enkelt UAC eller gir brukeren administratorrettigheter på datamaskinen ved å legge ham til den lokale administratorgruppen. Naturligvis er begge disse metodene usikre.

Hvorfor en vanlig applikasjon kan trenge administratorrettigheter

Programmet kan trenge administratorrettigheter for å endre visse filer (logger, konfigurasjoner osv.) i sin egen mappe i C:\Program Files (x86)\SomeApp). Som standard har brukere ikke rettigheter til å redigere denne katalogen, og derfor kreves det administratorrettigheter for normal drift av et slikt program. For å løse dette problemet må du manuelt tildele endrings-/skriverettigheter til brukeren (eller brukergruppen) til programmappen som administrator på NTFS-nivå.

Note. Faktisk er praksisen med å lagre endrede programdata i sin egen katalog under C:\Program Files feil. Det er mer riktig å lagre applikasjonsdata i brukerprofilen. Men dette er et spørsmål om latskap og inkompetanse hos utviklere.

Kjøre et program som krever administratorrettigheter fra en standardbruker

Vi har tidligere beskrevet hvordan du kan bruke RunAsInvoker-parameteren. Denne metoden er imidlertid ikke fleksibel nok. Du kan også bruke den med å lagre admin-passordet /SAVECRED (også usikkert). La oss vurdere en enklere måte å tvinge et program til å starte uten administratorrettigheter (og uten å skrive inn administratorpassordet) med UAC aktivert (4.3 eller nivå 2).

La oss for eksempel ta registerredigeringsverktøyet - regedit.exe(den ligger i katalogen C:\windows\system32). Når du kjører regedit.exe, vises et UAC-vindu, og med mindre du bekrefter rettighetsforhøyelsen, starter ikke Registerredigering.

La oss lage en fil på skrivebordet kjøre-som-ikke-admin.bat med følgende tekst:

cmd /min /C "sett __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Nå for å tvinge programmet til å kjøre uten administratorrettigheter og undertrykke UAC-ledeteksten, dra ganske enkelt ønsket exe-fil til denne bat-filen på skrivebordet.

Etter dette skal Registerredigering starte uten at UAC-ledeteksten vises. Åpne prosessbehandleren og legg til en kolonne Forhøyet(Med et høyere tillatelsesnivå) vil du se at systemet har en regedit.exe-prosess med en ikke-forhøyet status (kjører med brukerrettigheter).

Prøv å redigere en hvilken som helst parameter i HKLM-grenen. Som du kan se, nektes tilgang til å redigere registret i denne grenen (denne brukeren har ikke rettigheter til å skrive til systemregistergrenene). Men du kan legge til og redigere nøkler i brukerens egen registergren - HKCU.

På samme måte kan du starte en spesifikk applikasjon gjennom en bat-fil, bare spesifiser banen til den kjørbare filen.

kjøre-app-som-ikke-admin.bat

Sett ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "sett __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

Du kan også legge til en kontekstmeny, som legger til muligheten for alle applikasjoner å starte uten høyde. For å gjøre dette, lag følgende reg-fil og importer den til registeret.

Windows Registerredigering versjon 5.00


@="cmd /min /C \"sett __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

Etter dette, for å starte et hvilket som helst program uten administratorrettigheter, velg bare ""-elementet i hurtigmenyen.

__COMPAT_LAYER miljøvariabel og RunAsInvoker-parameter

Miljøvariabelen __COMPAT_LAYER lar deg angi forskjellige kompatibilitetsnivåer for applikasjoner (tab Kompatibilitet i egenskapene til exe-filen). Ved å bruke denne variabelen kan du spesifisere kompatibilitetsinnstillingene som programmet skal kjøres med. For å kjøre programmet i Windows 7-kompatibilitetsmodus og 640x480 oppløsning, angir du for eksempel:

sett __COMPAT_LAYER=Win7RTM 640x480

Blant alternativene til __COMPAT_LAYER-variabelen som er interessante for oss, fremhever vi følgende parametere:

  • RunAsInvoker- starte en applikasjon med rettighetene til overordnet prosessen uten en UAC-forespørsel.
  • RunAsHighest- starte applikasjonen med maksimale rettigheter tilgjengelig for brukeren (UAC-forespørselen vises hvis brukeren har administratorrettigheter).
  • RunAsAdmin- Start programmet med administratorrettigheter (AUC-ledeteksten vises alltid).

De. RunAsInvoker-parameteren gir ikke administratorrettigheter, men blokkerer bare utseendet til UAC-vinduet.

Når en ny bruker logger på informasjonsbasen, vises en feilmelding: "Du har ikke rett til å starte ønsket type klient."

For at programmet skal fungere riktig og for å unngå unødvendige feil, blir det nødvendig å legge til nye brukere. Ved første øyekast ser det ut til at det ikke er noe komplisert.

Trinn 1. Logg inn i programmet ved hjelp av konfiguratoren.

Trinn 2. I "Administrasjon"-menyen velger du "Brukere"

Trinn 3. I vinduet som åpnes legger du til en ny bruker og fyller ut alle dataene.

Trinn 4. Etter at alle dataene er fylt ut, må du gå til "Annet"-fanen og her krysse av for den nye brukerens rettigheter. Fraværet eller tilstedeværelsen av visse rettigheter av brukeren utvider eller begrenser hans evne til å arbeide i programmet.

Ved første øyekast er problemet løst. Men i praksis oppstår det ofte et problem når en ny bruker logger på informasjonsbasen: "det er ingen rett til å starte den nødvendige typen klient."

For å løse dette problemet må du:

Trinn 1. Logg inn i programmet ved hjelp av konfiguratoren.

Trinn 2. Åpne konfigurasjonsvinduet på kontrollpanelet.

Trinn 3. Velg "Generelt"-funksjonen i vinduet som åpnes.



(Fig.2)

Trinn 4. I vinduet som åpnes, merk av i boksene "Tykk klient", "Webklient" og "Tynn klient", lagre konfigurasjonen og logg på programmet under brukernavnet.


(Fig.3)

Problemet er løst. Lykke til.

1C versjon 8.3 blir stadig mer utbredt. På grunn av dette står flere og flere brukere av denne plattformen overfor et problem når de åpner den. Derfor, å legge til en ny bruker og deretter prøve å logge på under ham resulterer veldig ofte i feilen "Du har ikke tillatelse til å starte den nødvendige typen klient." Dette skjer fordi denne brukeren ikke har minimumssettet med rettigheter til å kjøre programmet. Dette problemet løses ved å tildele de nødvendige rettighetene til problembrukeren gjennom konfiguratoren. Du vil lære nøyaktig hvordan du gjør dette i denne artikkelen.

Hvordan løser jeg feilen "Du har ikke tillatelse til å kjøre den nødvendige typen klient 1C 8.3"?

Hvis det ikke er en enkelt bruker i listen som åpnes, må du opprette en ved å spesifisere et navn, passord og merke av for "Fulle rettigheter".

Hvis brukere vises og det er et problem blant dem, må du tilordne de nødvendige rollene ved å dobbeltklikke på det. Sørg for å merke av for "Kjør tykk klient", "Kjør tynn klient" og "Kjør ekstern tilkobling".

Velge ønsket rolle for brukeren

Nødvendige brukerroller

Hvis listen over tilgjengelige roller ikke inkluderer "Kjør tykk klient", "Kjør tynn klient" og "Kjør ekstern tilkobling", må du åpne rollen som er tildelt brukeren i konfiguratoren, for eksempel "Grunnleggende rettigheter" og i redigeringsvinduet setter klienttypene til "Thick" ", "Slim", "Web".

Velge rollen som er tildelt brukeren i konfiguratoren

6
Du må klikke på Fyll-knappen - generer dataene for å fylle ut tabelldelene og fylle dem ut. Skjemaet ser slik ut: Ved siden av Lagre og lukk-knappen er det lagt til en Fyll ut dokument-knapp, dens kommandokode: // Kode... 5
Mange spør hvordan man overfører tekniske spesifikasjoner fra serveren til klienten - nedenfor er flere alternativer for hvordan dette kan implementeres: Gjennom ValueInRowInternal og ValueFromRowInternalOnClient Procedure GetTable... 5
I versjon 8.2 og eldre: applikasjonen fungerer ikke direkte med lokale filer som ligger på datamaskinen. Filene må være på serveren. Derfor, for å åpne ekstern behandling, må du gjøre følgende... 3
Når du utviklet konfigurasjonen, for å forenkle registreringen av dokumenter, var det nødvendig å konfigurere oppføringen av nomenklaturen ved å matche hvilken som helst del av navnet! I 1C 8.3 er standardinnstillingene for nomenklaturkatalogen som følger: Når... 2
gvk2009 beskrev i detalj og forståelig forskjellen mellom metodene, som mange takk til ham for: I Syntax Assistant er svært lite skrevet om FormDataInValue()-prosedyren, litt mer om FormAttributesInValue()-prosedyren. Og ikke i det hele tatt...

Metode én

Vi lanserer informasjonsbasen 1C 8.3 under en bruker med fulle rettigheter, for eksempel en administrator.

Seksjonsadministrasjon – Programinnstillinger – Bruker- og rettighetsinnstillinger:

I bruker- og rettighetsinnstillingene følger du hyperkoblingen "Brukere":

Åpne vårt nye brukerkort og klikk på knappen Tilgangsrettigheter:

Tilgangsrettighetsvinduet for brukeren vår åpnes, og vi vil se at ingen av følgende tilgangsgruppeprofiler er tilordnet denne brukeren:

I 1C 8.3 Accounting 3.0-konfiguratoren, i listen over brukere vil vi se denne brukeren med et spesielt ikon:

La oss for eksempel sette opp en regnskapsførerprofil og skrive:

La oss prøve på nytt å starte 1C 8.3 infobase under en ny bruker:

Nå ser vi at vi klarte å fikse feilen og starte 1C 8.3-databasen under en ny bruker.

Metode to

La oss vurdere en annen situasjon - brukeren har rettigheter tildelt, men når du starter 1C 8.3, gir den fortsatt feilen "Det er ingen rettigheter til å kjøre den nødvendige typen klient."

La oss starte informasjonsbasen 1C Accounting 3.0 i konfiguratormodus under administratoren.

Menyadministrasjon – Brukere:

I listen over brukere velger du "problem"-brukeren:

Åpne brukerkortet og gå til fanen Annet:

Her vil vi se at brukeren ikke har lov til å starte klienten. Merk av for Start tynnklient og klikk OK:

La oss prøve på nytt å starte 1C 8.3-databasen under en ny bruker:

Nå ser vi at vi klarte å fikse feilen.

Feilretting hvis 1C 8.3-konfigurasjonen er annerledes

La oss se på eksempelkonfigurasjonen av en administrert applikasjon. Konfigurasjon utviklet av programmereren. La oss for eksempel kjøre under brukeren "Selger":

En feil vises:

La oss starte 1C 8.3-informasjonsbasen i konfiguratoren. La oss gå til menyen Administrasjon - Brukere:

La oss åpne denne brukerens kort og gå til Annet-fanen:

Vi ser at "Selger"-rollen er tildelt denne brukeren. Hva er problemet da? Hva skal jeg gjøre?

La oss se på rollen som "Selger". I metadatatreet Generelt – Roller, velg Alle roller gjennom hurtigmenyen:

Vi vil se at for rollen "Selger" er ikke en eneste avmerkingsboks fra applikasjonene valgt. La oss sjekke boksene og oppdatere 1C 8.3-databasekonfigurasjonen:

La oss nå lansere 1C 8.3 Accounting 3.0 under vår bruker:

Nå er feilen rettet og infobasen er lansert under denne brukeren.

Vår nettside vil hjelpe deg å lære hvordan du jobber i 1C 8.3 Regnskap og fører journaler på riktig måte. For mer informasjon om kurset, se følgende video:


Vurder denne artikkelen: