Frage von ConquestOR, 16

Ist in einem Windows 2012 R2 das cmdlets Standardmäßig mit installiert ?

Hallo,

Ich bin Azubi und habe mir auf der Arbeit einen Testserver (Windows 2012 R2) installiert.

Das Netzwerk steht auch schon. (AD,DHCP etc.)

Ich habe jetzt die Aufgabe bekommen, mich auf meinem Server einmal mit PowerShell scripting zu befassen. Hierzu will ich für die Anlage von Benutzern und Gruppen die cmdlets verwenden und das ganze in ein Script schreiben welches ich innerhalb einer Datei.ps1 dann ausführe. Da ich mehrfach Benutzer anlegen soll, habe ich mir auch schon Gedanken dazu gemacht eine CSV mit ein zu implementieren.

Ich bin relativ neu in dem Thema und was PowerShell angeht vom Verständnis her noch nicht soweit.

Der Fehler kommt für mich so rüber, als würde er keinen der Parameter die cmdlets mitliefern sollte verstehen... Werden die cmdlets für die Anlage von AdUsern nicht Standardmäßig mitgeliefert?

(Hier mal ein Beispiel welches ich direkt über die PowerShell ausgeführt habe.)

Eingabe:

$password="default12345"|ConvertTo -SecureString -AsPlainText -Force
New-ADUser -Name a.benutzer -GivenName a -Surname benutzer -Path "CN=Users,DC=test,DC=netzwerk,DC=azubi" -AccountPassword $Password -ChangePasswordAtLogon $True -Enabled $True

Fehler

-SecureString : Die Benennung "-SecureString" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei
oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist
(sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:26
+ $password="default12345"|-SecureString -AsPlainText -Force
+                          ~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (-SecureString:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Auch bei anderen Scripten, z.B bei dem Versuch einen Import einer CSV-Datei mit einzubringen schmiert er ab. Der Hinweis des Fehler geht immer auf die selbe Stelle, nämlich die des Parameters.

Beispiel CSV Script:

$Import= Import-CSV "C:\Users\a.test\Desktop\PowerShell\test.csv"
$ou= "CN=Users,DC=test,DC=netzwerk,DC=azubi"
Foreach($user in $import)
{
$password=$user.password|ConvertTo -SecureString -AsPlainText -Force
New-ADUser -Name $user.Name -GivenName $user.Vorname -Surname $user.nachname -Path $ou -AccountPassword $Password -ChangePasswordAtLogon $True -Enabled $True
}

Ich bin schon soweit gekommen das ich einen Hinweis auf den Fehler gefunden habe...

https://support.microsoft.com/de-de/kb/2669552

Muss ich Windows Azure Active extra mit einbeziehen? --> Hierzu noch keine Kenntnisse

Wenn ja... :) Wisst Ihr auch noch einen Weg wie ich das in einem Testnetz ans Laufen bekomme?

Mein Netzwerk ist nicht ans Internet angebunden. Wodurch ich Schwierigkeiten habe mir das per Webplattform Installer zu installieren.

Ist bisschen was auf einmal... Ich hoffe mir kann jemand helfen

Gruß Andy

Antwort
von Etter, 12

Du hast n Leerzeichen zwischen ConvertTo und -SecureString.

Sprich:

ConverTo -SecureString <- deins

ConvertTo-SecureString <- so sollte es sein.

https://technet.microsoft.com/de-de/library/hh849818.aspx

Damit wird es dann vmtl. auch klappen.

Noch als kleiner Tipp:

Ganz unten auf der von dir geposteten Seite siehste auch auf welche Produkte sich das geschilderte Problem eig. bezieht. Darunter steht z.B. nicht Windows Server ;)

Weiterer Tipp:

Bei sowas immer zuerst gucken, ob es n Typo is.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten