Sto utilizzando System.DirectoryServices.DirectoryEntry per creare l'utente di Active Directory e tutto funziona bene tranne per alcune proprietà specifiche di Desktop remoto.Modifica le proprietà del Terminal Server utente di Active Directory con C#
Esempio:
newUser.Properties["msTSConnectClientDrives"].Value = false;
newUser.Properties["msTSConnectPrinterDrives"].Value = false;
newUser.Properties["msTSDefaultToMainPrinter"].Value = false;
Questo non genera alcuna eccezione, quindi credo che le proprietà sono trovati nell'oggetto, ma non hanno alcun effetto. Quando vado nella finestra delle proprietà di quell'utente, nella scheda "Ambiente", queste 3 caselle di controllo sono ancora controllate.
Mi manca qualcosa di particolare per queste proprietà?
Grazie per il vostro aiuto.
EDIT:
dispiace sono stato molto occupato, ecco un esempio di codice:
private string CreateNewADAccount(string accountName, string accountPassword)
{
try
{
PrincipalContext context = new PrincipalContext(ContextType.Domain, "SV-LITE", @"LITE\xxxxxxxx", "yyyyyyyy");
UserPrincipal newUser = new UserPrincipal(context);
newUser.SamAccountName = accountName;
newUser.UserPrincipalName = accountName;
newUser.Name = "LiteUser2015 - " + accountName;
newUser.DisplayName = "LiteUser2015 - " + accountName;
newUser.SetPassword(accountPassword);
newUser.PasswordNeverExpires = true;
newUser.UserCannotChangePassword = true;
newUser.Save();
// Set advanced properties
if (newUser.GetUnderlyingObjectType() == typeof(DirectoryEntry))
{
DirectoryEntry entry = (DirectoryEntry)newUser.GetUnderlyingObject();
entry.Properties["msTSConnectClientDrives"].Value = false;
entry.Properties["msTSConnectPrinterDrives"].Value = false;
entry.Properties["msTSDefaultToMainPrinter"].Value = false;
entry.Properties["msTSInitialProgram"].Value = "test";
entry.CommitChanges();
}
return newUser.Guid.ToString();
}
catch (Exception e)
{
MessageBox.Show("Failed to create PrincipalContext. Exception: " + e);
}
return null;
}
sto già facendo. – Karnalta
puoi aggiornare la tua domanda con un esempio di codice più completo? – Dan