lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte
Wie kann ich in einem Powershell Script prüfen, wie der Benutzername heißt der das Script ausgeführt hat?
von  

2 Antworten

2 Pluspunkte 0 Minuspunkte

Du kannst den aktuellen Benutzernamen über die NET API abfragen.

$benutzer = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
von (45 Punkte)  
0 Pluspunkte 0 Minuspunkte

Dazu kannst du die Umgebungsvariable USERNAME abfragen.

$user = $env:USERNAME
Write-Host "Das Skript wurde ausgeführt von: $user"
von (643 Punkte)  
Die Umgebungsvariable kann man einfach überschreiben. Besser wäre es die Identity in Echtzeit über die NET API abzufragen.

$benutzer = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
Guter Punkt! Wenn ein Angreifer das Environment manipulieren kann dann kann er wahrscheinlich aber auch den Code anpassen. Davor schützt aber beides nicht.
Das stimmt aber das Script könnte auch über einen Webhook, den Task Scheduler oder eine andere Weise gestartet werden.
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.4k Fragen

2.9k Antworten

275 Kommentare

16 Nutzer