thomes

Powershell - AD Remotedesktop Profil festlegen

Gute Tag Zusammen

Ich habe im Auftrag unserer Firma ein Powershell Script ersellt welches den Eintritt von Benutzern in unsere Firma erleichtern und vereinfachen soll (sprich User & Postfach erstellen, Attribute anpassen usw.). Bisher funktioniert alles ohne Probleme jedoch gibt es noch dieses eine Attribut welches mich davon abhält um dieses Script bei uns einsetzen zu können. Und zwar betrifft es das Remotedesktop-Profil. Ich habe bisher das Internet durchsucht und konnte auch schon die ein oder andere angebliche Lösung finden, als ich das jedoch auf unsere Struktur angepasst habe, funktionierte dies leider nicht. Zu erwähnen ist wahrscheinlich noch dass das Remotedesktop-Profil jeweils noch leer ist, da die Benutzer ja vom Script neu erstellt werden.


Das habe ich bisher:
$Path01 = Get-ADUser -identity $global:Username -properties DistinguishedName | Select-Object DistinguishedName
$Path02 = "LDAP://"+$Path01.DistinguishedName  
$TsProfilePath = "\\server\share\"+$global:Username+".tsp"  
$Set_TsProfile.psbase.invokeSet("allowLogon",1)  
$Set_TsProfile = [ADSI]"$Path02"  
$Set_TsProfile.psbase.invokeSet("TerminalServicesProfilePath",$TsProfilePath)  
$Set_TsProfile.setinfo()
Wäre für jeden Hinweis sehr dankbar, da ich mit Powershell bisher praktisch keine Erfahrung habe.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen
Kommentar vom Moderator Dani am 22.06.2015 um 09:32:48 Uhr
Formatierung hinzugefügt.

Content-ID: 275297

Url: https://administrator.de/forum/powershell-ad-remotedesktop-profil-festlegen-275297.html

Ausgedruckt am: 27.04.2025 um 11:04 Uhr

Dani
Dani 22.06.2015 um 09:37:09 Uhr
Goto Top
Moin,
der User muss zuerst erstellt werden. Danach kannst du den Wert entsprechend setzen. Anders geht es meines Wissens nach nicht.
Wir machen das so:
#Remotedesktop-Profilpfad setzen
$strNewUser = [ADSI] "LDAP://cn=$strNachname\, $strVorname, $strAdOU"  
$strNewUser.psbase.InvokeSet('TerminalServicesProfilePath',"\\$strRdsProfileServer\$strRdsProfilePath\$strSAMAccountName")  
$strNewUser.SetInfo()
write-host "Remotedesktophostprofile wurden konfiguriert."  

# Anmelden an RDS-Host grundsaetzlich verbieten
$strNewUser.psbase.InvokeSet('allowLogon', 0)  
$strNewUser.SetInfo()
Funktioniert bisher problemlos auf 2008R2 und 2012R2.


Gruß,
Dani
Thomes
Thomes 22.06.2015 aktualisiert um 10:57:09 Uhr
Goto Top
Vielen Dank für die Schnelle Antwort!

Leider habe ich das ganze bisher ohne Erfolg versucht. Als erstes habe ich den ganzen DN angegeben:

$strNewUser = [ADSI] "LDAP:CN=Script Test,OU=SO_Test_OU,DC=domain,DC=de"

folgende Fehlermeldung habe ich erhalten:

"Ausnahme beim Aufrufen von "InvokeSet" mit 2 Argument(en): "Unbekannter Name. (Ausnahme von HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))"

Anschliessend habe ich versucht es ähnlich zu machen:

$strNewUser = [ADSI] "LDAP:
CN=Script\, Test, SO_Test_OU"

Logischerweise hab ich dann einen DN-Syntax Error erhalten. Mir stellt sich nun die Frage wie $strNachname. $strVorname & $strAdOU bzw $strNewUser genau definiert werden müssten damit das Ganze klappt?
Dani
Dani 22.06.2015 um 11:18:27 Uhr
Goto Top
$strNewUser = [ADSI] "LDAP://CN=Script Test,OU=SO_Test_OU,DC=domain,DC=de"
Damit bist du auf dem richtigen Weg. Ob dein LDAP-Pfad stimmt kannst du ganz einfach prüfen:
Get-ADUser "Script Test" | fl DistinguishedName  

"Ausnahme beim Aufrufen von "InvokeSet" mit 2 Argument(en): "Unbekannter Name. (Ausnahme von HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))"
Durch welchen Befehl wird der Fehler ausgelöst?


Gruß,
Dani
114757
114757 22.06.2015 um 15:10:44 Uhr
Goto Top
Thomes
Thomes 23.06.2015 aktualisiert um 07:48:07 Uhr
Goto Top
Der Fehler wird durch den Befehl:

$strNewUser.psbase.InvokeSet('TerminalServicesProfilePath',"\\$strRdsProfileServer\$strRdsProfilePath\$strSAMAccountName")

ausgelöst. jedes mal erscheint der oben genannte Fehler:

"Ausnahme beim Aufrufen von "InvokeSet" mit 2 Argument(en): "Unbekannter Name. (Ausnahme von HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))"

Konnte bisher leider noch keine Lösung dafür finden.
Dani
Dani 23.06.2015 um 09:41:29 Uhr
Goto Top
Moin,
welchen Wert hast du den einzelnen Variablen zugewiesen?


Gruß,
Dani
Thomes
Thomes 23.06.2015 um 13:58:34 Uhr
Goto Top
Ich konnte in der Zwischenzeit einige Tests durchführen und habe nun endlich eine mögliche Lösung:

Was ich jeweils vergessen habe zu erwähnen ist das ich Powershell lokal mit dem Domänen-Admin ausgeführt habe. Alle anderen Commands sind problemlos gegangen, dieses jedoch nicht. Als ich dann die Befehle auf dem Server ausgeführt habe, funktionierte es plötzlich. Habe nun im Internet nachgeforscht und herausgefunden dass es angeblich an den Remote-Tools liegen soll, ich werde diese daher Neu installieren und mich dann melden ob es geklappt hat oder nicht.

Trotzdem Vielen Dank für eure Hilfe!