RunAs -> mit Password?
Allgemein Administration .Net
Es kann ja schon mal vorkommen, dass man aus irgendeinem Grund ein Command-Line-Tool unter einem anderen Benutzer ausführen muß.
z.B. Sharepoint, weil ein Workflow sonst ncht gestartet wird
Kategorie Es kann ja schon mal vorkommen, dass man aus irgendeinem Grund ein Command-Line-Tool unter einem anderen Benutzer ausführen muß.
z.B. Sharepoint, weil ein Workflow sonst ncht gestartet wird
Hierzu gibt es ja den Command RunAs, funktioniert
auch wunderbar
Nur kann man leider nicht das Passwort irgendwie mitgeben es kommt immer ein Prompt.
Mit folgenden Zeilen kann man sich eine kleines Command-Line-Tool bauen und bei Bedarf anpassen ->
SecureString ss = new SecureString();
foreach(char c in System.Configuration.ConfigurationManager.AppSettings"password".ToCharArray()) {
ss.AppendChar(c);
}
Process.Start(args[0], string.Empty, System.Configuration.ConfigurationManager.AppSettings"user", ss,
System.Configuration.ConfigurationManager.AppSettings"domain");
Der SecureString kann nur über die "Schleife" erzeugt werden, oder kennt jemand eine andere Möglichkeit?
Gruß JJR
P.S.: Wenn man nicht unbedingt mit P.U.L.L.W.I.T.Z. verwandt oder verschwägert ist, weiß man auch wo man die AppSettings konfigurieren muß
Nur kann man leider nicht das Passwort irgendwie mitgeben es kommt immer ein Prompt.
Mit folgenden Zeilen kann man sich eine kleines Command-Line-Tool bauen und bei Bedarf anpassen ->
SecureString ss = new SecureString();
foreach(char c in System.Configuration.ConfigurationManager.AppSettings"password".ToCharArray()) {
ss.AppendChar(c);
}
Process.Start(args[0], string.Empty, System.Configuration.ConfigurationManager.AppSettings"user", ss,
System.Configuration.ConfigurationManager.AppSettings"domain");
Der SecureString kann nur über die "Schleife" erzeugt werden, oder kennt jemand eine andere Möglichkeit?
Gruß JJR
P.S.: Wenn man nicht unbedingt mit P.U.L.L.W.I.T.Z. verwandt oder verschwägert ist, weiß man auch wo man die AppSettings konfigurieren muß
Kommentare
nachdem wir gelernt haben, dass man mit TSQL Dateien kopieren kann möchte ich auch mal ein "Schmankerl" beisteuern. Ich glaube das hier funktioniert - ohne Schleife:
string s = "test";
unsafe
{
fixed(char* pChar = &s.ToCharArray()[0])
{
SecureString ss = new SecureString(pChar, s.ToCharArray().Length);
}
}
Man muss vorher nur noch den C#-Compiler mittels /unsafe dran erinnern, dass C++ auch schön war Ohne Gewähr.
Grüße,
Sebastian
P.S.: bleib lieber bei der Schleife!
P.P.S.: für die AppConfig-Geschichte könntest du mir ja mal ein Codebeispiel zuschicken...
Erstellt von Sebastian Stricker um 01:28:19 PM am 03/20/2010 | - Website - |
vielleicht kann man beides verbinden.
Ich meine den Pointer in einer Schleife inkrementieren Am Besten eine Endlos und diese mit Goto verlassen
Gruß JJR
Erstellt von JakeJBlues um 09:16:36 PM am 03/20/2010 | - Website - |