Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
CMD als Admin mit Login-Daten starten
Krumnix
myCSharp.de - Member



Dabei seit:
Beiträge: 127
Herkunft: Schweiz

Themenstarter:

CMD als Admin mit Login-Daten starten

beantworten | zitieren | melden

Hallo zusammen,

auf den Laptops unserer Produktion läuft ein Tool von uns.
Nun hat die IT die Adminrechte eingestellt und in dem Tool rufen wir einen Prozess auf, welche in CMD ein Kommando ausführt.
Der Adminzugang ist mir bekannt, und ich würde daher gerne CMD mit Adminrechten starten und der Rest bleibt unangetastet.
Wir kann ich nun die Einlog-Daten, welche beim Starten eines Prozesses mit 'startInfo.Verb = "runas";' ausgeführt wird, mitgeben.
Sprich, das Popupfenster zur Eingabe der Daten soll nicht kommen, sondern vorrangig schon "asgefüllt" werden.

Hat da jemand einen Tipp für mich? Funktioniert dies? Alternative die CMD-Befehle in C# zu übernehmen ist aktuell von Zeitaufwand
noch nicht gewünscht (außer meine Idee funktioniert nicht).

Danke
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.480

beantworten | zitieren | melden

Soweit ich weiß gar nicht, aber Du hast (mindestens) zwei Alternativen. Aber: alle Wege sind unsicher.
Bei jeder Sicherheitsüberprüfung zB ISO wird Dir das um die Ohren geworfen - zurecht.

a) Du startest die CMD via START mit einem /savecred parameter.
Beim ersten Start musst Du die Credentials hinterlegen, die dann im Windows Credential Manager landen. Aufgrund letzterem ist die Shell weiterhin unsicher, aber zumindest die Credentials sicher

START C:\Windows\System32\runas.exe /user:Administrator /savecred cmd.exe

b) Du verwendest aus den Systernals die PsEXE, der Du Username und Password beim Start übergeben kannst

.\PsExec.exe -accepteula -h -u "$UserName" -p "$Password" CMD.exe
Der -h Parameter sorgt für den Admin Token aka Elevated Token Flow

10 Min via Google findest bestimmt noch 5234123423 andere Wege und Tools.
private Nachricht | Beiträge des Benutzers
Krumnix
myCSharp.de - Member



Dabei seit:
Beiträge: 127
Herkunft: Schweiz

Themenstarter:

beantworten | zitieren | melden

Hall Abt,

die 5234123423 funktionieren alle nicht, das PowerShell noch weitere Rechte und sonstiges braucht, was wohl mit den Lösungen und Tipps aus dem Netz nicht funktionieren.
Was ich festgestellt habe ist, dass WMI, Windows Police und Network Credentials zusätzlich benötigt werden.

Daher schaue ich jetzt man nach einem anderen Weg die alten "Batches" in C# zu bringen.
Dachte, es ginge "einfacher".
private Nachricht | Beiträge des Benutzers