PowerShell - Active Directory mit Administratorrechten

0

Ich versuche, ein Powershell-Skript mit meinen Administrator-Anmeldeinformationen zu erstellen. Ich bin noch weitestgehend neu in der "Powershell-Script-Welt", also habe ich bestehende Scripts durchgesehen und sie zusammen aufgenommen / modifiziert.

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 darauf hingewiesen

Set-ADUser: Nicht genügend Zugriffsrechte, um den Vorgang auszuführen

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

Also meine Frage ist. Was mache ich falsch? Ich vermute, es ist die Anmeldeinformationszeile, 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 @{ProxyAddresses = ""}
Set-ADUser -Identity $LID -Add @{ProxyAddresses = ""}
B. Frederik
quelle
Wenn irgendwelche Mods das sehen. Bitte löschen Sie diese Frage vollständig. Ich werde nicht auf allzu viele Details eingehen, nur dass dies aufgrund von Gesetzen in meiner früheren Firma / meinem früheren Land entfernt werden muss.
B. Frederik
@Sathya kannst du bitte mit mir plaudern?
B. Frederik
@ B.Frederik Sie müssen sich an die Moderatoren wenden und sie bitten, die vertraulichen Informationen zu korrigieren, anstatt einfach eine weitere Revision hinzuzufügen. Die Originaldaten bleiben erhalten, wenn Sie Ihre Frage einfach bearbeiten.
Secespitus
@ B.Frederik bitte [flag] die Frage und erwähne, was redigiert werden soll
Sathyajith Bhat
@Sathya markiert. Die Fragen müssen entweder vollständig redigiert oder vollständig entfernt werden. Dies waren die einzigen Informationen, die ich von meiner früheren Arbeit erhalten habe.
B. Frederik

Antworten:

3

Schauen Sie sich den Code genau an: Sie fragen nach den Anmeldeinformationen des Benutzers und speichern diese in einer $domaincredentialVariablen, die später nicht verwendet wird.

Hinzufügen eines -Credential $domaincredentialArguments zu Set-ADuserCmdlet-Aufrufen:

Set-ADUser -Identity $LID `
           -Add @{ProxyAddresses = "NOTES:$name $lastname/DK$LID/UNIBANK"} `
           -Credential $domaincredential
Maoizm
quelle
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, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens oder ob ein Pfad angegeben wurde Überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. "Haben Sie eine Idee, woran das liegen könnte?
B. Frederik
1
Da kein Powershell AD-Verwaltungsmodul installiert ist: docs.microsoft.com/en-us/powershell/module/addsadministration/… . Wenn die Antwort Ihr ursprüngliches Problem löst, können Sie sie als Antwort markieren. Wenn Sie weitere Fragen haben, können Sie sie separat erstellen;)
Maoizm
Würde komisch klingen, wenn das der Fall wäre. Ich habe eine neue Standard-Powershell-Installation, genau wie meine Kollegen, und verschiedene "AD" -Skripte funktionieren für sie, indem Benutzer kopiert werden, die Massenbenutzer zu Gruppen hinzufügen usw. Ich werde es am Montag noch einmal mit Ihren Worten versuchen. Und wenn es nicht funktioniert, werde ich das lösen und ein neues Thema erstellen.
B. Frederik
Es kann viele Gründe geben, z. Unter Windows Server ist es standardmäßig enthalten. Auf dem Windows-Desktop muss es manuell installiert werden. Auch die Windows-Version spielt eine Rolle. Jede Installation von Windows ist einzigartig, es sei denn, Sie haben viele nicht standardmäßige Anstrengungen unternommen, um sie gleich zu machen
maoizm