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:
Wäre für jeden Hinweis sehr dankbar, da ich mit Powershell bisher praktisch keine Erfahrung habe.
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()
Please also mark the comments that contributed to the solution of the article
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 27, 2024 at 00:04 o'clock
7 Comments
Latest comment
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:
Funktioniert bisher problemlos auf 2008R2 und 2012R2.
Gruß,
Dani
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()
Gruß,
Dani
$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