C-Sharp WqlConnectionManager SCCM-Connection
Hi @all
Ich baue in meinem WPF-Project eine Remote-Verbindung zum SCCM auf nach diesem Beispiel:
https://docs.microsoft.com/en-us/configmgr/develop/core/understand/simpl ...
Snipped:
Was mich dabei aber stört ist, dass der WqlConnectionManager anscheinend keinen SecureString wie etwa aus einer PasswordBox unterstützt.
Ich muss notgedrungen also eine Standard-TextBox verwenden.
Meine Frage:
Ich möchte den Text der TextBox wenigstens direkt bei der Eingabe maskieren.

Hat jemand eine Idee dazu wie ich das bewerkstelligen kann?
Danke für die Unterstützung!
Grüße!
Ich baue in meinem WPF-Project eine Remote-Verbindung zum SCCM auf nach diesem Beispiel:
https://docs.microsoft.com/en-us/configmgr/develop/core/understand/simpl ...
Snipped:
public WqlConnectionManager Connect(string serverName, string userName, string userPassword)
{
try
{
SmsNamedValuesDictionary namedValues = new SmsNamedValuesDictionary();
WqlConnectionManager connection = new WqlConnectionManager(namedValues);
if (System.Net.Dns.GetHostName().ToUpper() == serverName.ToUpper())
{
connection.Connect(serverName);
}
else
{
connection.Connect(serverName, userName, userPassword);
}
return connection;
}
catch (SmsException ex)
{
Console.WriteLine("Failed to connect. Error: " + ex.Message);
return null;
}
catch (UnauthorizedAccessException ex)
{
Console.WriteLine("Failed to authenticate. Error:" + ex.Message);
throw;
}
}
Was mich dabei aber stört ist, dass der WqlConnectionManager anscheinend keinen SecureString wie etwa aus einer PasswordBox unterstützt.
Ich muss notgedrungen also eine Standard-TextBox verwenden.
Meine Frage:
Ich möchte den Text der TextBox wenigstens direkt bei der Eingabe maskieren.

Hat jemand eine Idee dazu wie ich das bewerkstelligen kann?
Danke für die Unterstützung!
Grüße!
Please also mark the comments that contributed to the solution of the article
Content-Key: 558020
Url: https://administrator.de/contentid/558020
Printed on: June 9, 2023 at 13:06 o'clock
3 Comments
Latest comment

Ich muss notgedrungen also eine Standard-TextBox verwenden.
? Wieso? Die Die Password-Box hat doch die Eigenschaft Password die dir das Password im Klartext liefert ...
https://docs.microsoft.com/de-de/dotnet/api/system.windows.controls.pass ...
Ich würde dafür gleich die Windows Standard-Dialoge verenden.
https://docs.microsoft.com/de-de/windows/win32/api/wincred/nf-wincred-cr ...

Btw. lässt sich aus einem Secure-String auch wieder ein Klartextpassword machen wenn man es wollte, ist hier aber ja nicht mehr nötig.
string cleartextpass = System.Runtime.InteropServices.Marshal.PtrToStringAuto(System.Runtime.InteropServices.Marshal.SecureStringToBSTR(passwordBox.SecurePassword));