c # - Opgave løbebrug SYSTEM eller Administrator bruger?

Indlæg af Hanne Mølgaard Plasc

Problem



Vi har en applikation, der kører på en tidsplan, opsætning i Task Scheduler. Denne opgave er skabt programatisk af vores konfigurationsprogram.


Nu skal applikationen få adgang til filer i en bestemt mappe, standardbanen i en undermappe i den indloggede brugers hjemmemappe.


Vi har forsøgt at konfigurere systemet ved hjælp af SYSTEM-kontoen, men den har ikke adgang til filerne, og opgaven afslutter, så snart den kører.


Normalt sætter vi det op med administratorens adgangskode og flag for at køre, når brugeren er logget ind eller ej. Nogle klienter installerer denne app på et system, der ikke kræver et login, betyder at have et tomt eller intet kodeord . Hvis vi opsætter opgaven og manuelt ændrer den til at køre uden dem logget ind, kræver det et kodeord af en slags.


Hvordan kan jeg programmæssigt (ved hjælp af C # eller VB.net) oprette denne opgave for at løbe, hvor den ikke vil:



  1. Kræv en administrator eller brugeradgangskode til at køre eller konfigurere

  2. Få adgang til filerne i 'næsten' nogen mappe

  3. Kunne køre, om en bruger er logget ind eller ej

  4. Ikke kræve at oprette en ny bruger til at køre dette under



Systemerne installeret på rækkevidde fra Windows Server 2008 til Windows 10.

Bedste reference


Fra dit spørgsmål ser det ud til, at du beskriver en brugs sag til et vindues service.


Specifikt, du har brug for et program, der vil køre:



  • Uden brugerinteraktion

  • Uanset om en bruger er logget ind eller ikke

  • Med rettigheder, der er nødvendige for at få adgang til dele af filsystemet, der ellers kunne være begrænset af UAC.



Opbygning af en windows-tjeneste vil give dig denne mulighed uden at skulle udgive en bruger eller beskæftige sig med lagring af administratorkontroloplysninger (selvom du skal have privilegier til at installere det oprindeligt).


Du kan opbygge en tjeneste i ethvert. Net sprog (inklusive C # og VB.NET).
Topshelf er et ret godt bibliotek til opbygning af Windows Services i .net og de vejledninger/dokumentation, jeg har linket til, kan hjælpe dig med at komme i gang. [1]