windows - Kan ikke køre en COM-applikation via Jenkins, hvis ingen bruger er logget ind

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kører en Jenkins-server på en Windows 10-computer som en tjeneste. I en af ​​Jenkins-jobene skal jeg udføre tests ved hjælp af en COM-ansøgning. Den samme computer bruges også af udviklerne i deres daglige arbejde over RDP, og det pågældende Jenkins-job køres om natten, når ingen almindelig udvikler bruger det. Men hvis ingen bruger er logget ind på computeren eller ved hjælp af RDP, går scriptet i jobbet ikke i gang med COM-programmet med følgende besked:



  Serverprocessen kunne ikke startes, fordi den konfigurerede
  identiteten er forkert. Kontroller brugernavnet og adgangskoden.



Jeg fandt ud af, at spørgsmålet ser ud til, at identiteten til COM-applikationen er taget fra den nuværende interaktive bruger, og hvis der ikke er nogen, fejler det, se


https://support.microsoft.com/en-my/help/305761/com-server-application-that-uses-interactive-user-identity-fails-to-lo[2]


Jeg kan ikke synes at kunne løse mit problem. Jeg ser to muligheder:



  1. Sørg for, at en bruger er logget ind, når jobbet udføres

  2. Find ud af, hvordan du kører COM-applikationen uden en interaktiv bruger



For 1 ser jeg følgende løsninger og hvorfor de ikke virker:



  • Autologin på Windows starter og efterlader logget ind : Fungerer ikke, da vi bruger computeren i vores daglige arbejde gennem RDP, hvilket betyder at den lokale logget bruger bliver sparket ud siden vi er kun tilladt én session ad gangen.

  • Log ind ved hjælp af RDP, og afslut derefter med scriptet tscon.exe 0 /dest:console, som vil forlade sessionen . Vil ikke virke, da vi er 15 personer i teamet, der bruger den pågældende maskine over RDP, og folk vil forgett at bruge denne kommando, når de logger af inden udgangen af ​​dagen.



For 2 kan jeg ikke finde en måde at gøre dette på.


Kan jeg i Windows planlægge en bruger til automatisk at være logget ind, før jobbet starter? Kan jeg bruge en anden computer og planlægge en RDP-session til den første computer, før jobbet udføres?

Bedste reference