thomes
Goto Top

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.
Kommentar vom Moderator Dani am Jun 22, 2015 um 07:32:48 Uhr
Formatierung hinzugefügt.

Content-Key: 275297

Url: https://administrator.de/contentid/275297

Printed on: April 23, 2024 at 07:04 o'clock

Member: Dani
Dani Jun 22, 2015 at 07:37:09 (UTC)
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
Member: Thomes
Thomes Jun 22, 2015 updated at 08:57:09 (UTC)
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?
Member: Dani
Dani Jun 22, 2015 at 09:18:27 (UTC)
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
Mitglied: 114757
114757 Jun 22, 2015 at 13:10:44 (UTC)
Goto Top
Member: Thomes
Thomes Jun 23, 2015 updated at 05:48:07 (UTC)
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.
Member: Dani
Dani Jun 23, 2015 at 07:41:29 (UTC)
Goto Top
Moin,
welchen Wert hast du den einzelnen Variablen zugewiesen?


Gruß,
Dani
Member: Thomes
Thomes Jun 23, 2015 at 11:58:34 (UTC)
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!