PowerShell - Active Directory mit Administratorrechten

564
B.Frederik

Ich versuche, das Skript mit meinen Administrator-Anmeldeinformationen zu powern. Ich bin in der "Powershell-Script-Welt" immer noch ferne Neuland, also habe ich die vorhandenen Skripte durchgesehen und eines davon zusammen aufgenommen / geändert.

Ich habe die Zeichenfolge:

$targetdomain = "" Write-Verbose "Getting credentials" $domaincredential = Get-Credential -UserName "$targetdomain\$env:USERNAME-ADM" -Message "Use a credential that has permission to create users in the target domain $targetdomain" 

Diese Eingabeaufforderungen geben meine -adm-Kontoinformationen ein, die ich dann eingebe. Wenn ich jedoch versuche, das Skript auszuführen, wird dies angezeigt

Set-ADUser: Unzureichende Zugriffsrechte zum Ausführen des Vorgangs

Wenn Sie Powershell öffnen, indem Sie mit der rechten Maustaste auf das Symbol-> Als Administrator ausführen-> Anmeldeinformationen eingeben "klicken und das Skript dann kopieren, funktioniert es wie ein Zauber.

Meine Frage ist also. Was mache ich falsch? Ich vermute, es handelt sich um die Anmeldeinformationslinie, aber ich kann einfach nicht herausfinden, was falsch ist. Ich habe es auch mit " $cred = Get-Credential domain\username" versucht, aber das funktioniert auch nicht.

Sie können das vollständige Skript unten sehen:

$targetdomain = "" Write-Verbose "Getting credentials" $domaincredential = Get-Credential -UserName "$targetdomain\$env:USERNAME-ADM" -Message "Use a credential that has permission to create users in the target domain $targetdomain"  foreach($line in Get-Content "request.txt") {  if ($line.length -eq 0) { $line = " " }  if($line -match "First name of user: ") { $name = $line.Substring(21).trim() }  if($line -match " Last name of user: ") { $lastname = $line.Substring(22).trim() }  if ($line.Substring(0,1) -eq "" -and $line.Length -eq 6) { $LID = $line.trim() } } Set-ADUser -Identity $LID -Add @ Set-ADUser -Identity $LID -Add @ 
0
Wenn irgendwelche Mods das sehen. Bitte löschen Sie diese Frage vollständig. Ich werde nicht zu sehr ins Detail gehen, nur dass dies aufgrund von Gesetzen in meiner früheren Firma / meinem Land entfernt werden muss. B.Frederik vor 5 Jahren 0
@Sathya kannst du bitte mit mir plaudern? B.Frederik vor 5 Jahren 0
@ B.Frederik Sie müssen sich an die Moderatoren wenden und sie bitten, [die vertraulichen Informationen zu ändern] (https://meta.stackexchange.com/q/132117/352819), anstatt nur eine weitere Revision hinzuzufügen. Die ursprünglichen Daten sind weiterhin verfügbar, wenn Sie Ihre Frage einfach bearbeiten. Secespitus vor 5 Jahren 0
@Secespitus Danke B.Frederik vor 5 Jahren 0
@ B.Frederik Bitte [Flagge] die Frage und erwähne, was redigiert werden soll Sathya vor 5 Jahren 0
@Sathya markiert. Die Fragen müssen entweder vollständig redigiert oder vollständig entfernt werden. Dies waren die einzigen Informationen, die ich von nun an meine frühere Arbeit erhielt. B.Frederik vor 5 Jahren 0
@ B.Frederik - Reduzieren Sie das Skript auf die einfachste Wiederherstellung des Problems. Diese Frage sollte nicht vollständig entfernt werden, da eine akzeptierte Antwort mit mehreren eingereichten Upvotes vorliegt. Ich sehe nur drei Zeilen, die möglicherweise ein Problem darstellen könnten. Ramhound vor 5 Jahren 0
@Ramhound Laut denjenigen, die ich dadurch gefeuert habe, muss es komplett entfernt werden, das war meine einzige Option. B.Frederik vor 5 Jahren 0

1 Antwort auf die Frage

3
maoizm

Sehen Sie sich den Code genau an: Sie fordern die Anmeldeinformationen des Benutzers an, speichern Sie sie in einer $domaincredentialVariablen, die später nicht verwendet wird.

Fügen Sie -Credential $domaincredentialden Set-ADuserCmdlet-Aufrufen ein Argument hinzu:

Set-ADUser -Identity $LID ` -Add @ ` -Credential $domaincredential 
Hallo, das funktioniert bei mir. Meine Kollegen erhalten jedoch die Fehlermeldung: "Set-ADUser: Der Begriff 'Set-ADUser' wird nicht als Name eines Cmdlets, einer Funktion, Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens oder ob ein Pfad vorhanden ist Überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. "Welche Idee könnte das Problem sein? B.Frederik vor 5 Jahren 0
Da das Powershell AD-Verwaltungsmodul nicht installiert ist: https://docs.microsoft.com/de-de/powershell/module/addsadministration/?view=win10-ps. Wenn die Antwort Ihr ursprüngliches Problem löst, können Sie es als Antwort markieren. Wenn Sie weitere Fragen haben, können Sie diese separat erstellen;) maoizm vor 5 Jahren 1
Würde seltsam klingen, wenn das der Fall wäre. Ich habe eine neue Standard-Powershell-Installation, genau wie meine Kollegen, und verschiedene "AD" -Skripts funktionieren für sie. Sie kopieren Benutzer, die Massenbenutzer in Gruppen usw. einfügen. Ich versuche es am Montag erneut mit dem, was Sie gesagt haben. Und wenn es nicht klappt, löse ich das und mache ein neues Thema. B.Frederik vor 5 Jahren 0
Es kann viele Gründe geben, z. Unter Windows Server ist es standardmäßig enthalten. Auf dem Windows-Desktop müssen Sie es manuell installieren. Die Windows-Version ist ebenfalls wichtig. Jede Windows-Installation ist eindeutig, es sei denn, Sie haben viele Anstrengungen unternommen, um sie identisch zu machen maoizm vor 5 Jahren 0