2016-04-15 13 views
0

標準ユーザーが管理者(ドメイン)の資格情報を使用してフォームを実行したいと考えています。VB.NET管理者のユーザー名とパスワードを使用してフォームからフォームを実行

私は最初に管理者として実行せずに1つのフォームを実行することはできませんが、フォーム上のボタンをクリックしてそのアクションが管理者の認証情報を組み込んだ別のフォームを起動できるかどうかは疑問です。

+0

管理者権限は、アプリケーションごとにあり、フォーム別のフォームではありません。 – Plutonix

+0

申し訳ありませんが、私は本当にあまりよく分かりません。私はフォームの代わりにアプリケーションを意味すると思います。だから別のアプリケーション(フォーム)のボタンから別のアプリケーション(フォーム)を実行できますか? – bowlingbrad

答えて

0

これが機能するかどうかに関する入力を得ることはできますか?私は一緒にそれをつなぎ、まだすべてのテストでそれを実行していない。 .batファイルを実行しているようです。これは単にEXEに変更することができますか?

Imports System.Diagnostics 
Imports System.Security 

'Password is a SecureString that needs to be built 
Dim securePassword as New Security.SecureString() 
For Each c As Char In userPassword 
    securePassword.AppendChar(c) 
Next c 


Dim proc as ProcessStartInfo = new ProcessStartInfo() 
proc.FileName = "filelocation.bat" 
proc.WorkingDirectory = "your_working_dir" 
     proc.UseShellExecute = False 
     proc.Domain = userDomain 
     proc.UserName = userName 
     proc.Password = securePassword 
Process.Start(proc) 
+0

答えに質問をしないでください。上記の質問を更新するか、新しい質問を作成してください。 – MrGadget

0
Dim ProcessStartInfo As New ProcessStartInfo("C:\path\to\app.exe") 

With ProcessStartInfo 
    ' The following properties run the new process as administrator 
    .UseShellExecute = True 
    .Verb = "runas" 
    .WindowStyle = ProcessWindowStyle.Normal 
    .CreateNoWindow = False 
End With 

Try 
    ' Start the new process 
    Process.Start(ProcessStartInfo) 
Catch ex As Exception 
    ' The user did not allow the application to run as administrator 
    MessageBox.Show("Sorry, this application must be run as Administrator.", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) 
End Try 
+0

申し訳ありませんが、私はそれが私が求めているとは思わない。アプリケーションのフォーム上のボタンをクリックし、そのボタンに管理者の資格情報を組み込んだ別のアプリケーションを起動させる必要があります。私は、ユーザーがクリックして管理者の資格情報や警告のリクエストを出すことは望ましくありません。 – bowlingbrad

+0

これが機能するかどうかについていくつかの情報を得ることができますか?私は一緒にそれをつなぎ、まだすべてのテストでそれを実行していない。 .batファイルを実行しているようです。これは単にEXEに変更することができますか? 'code' – bowlingbrad

+0

私は自分の答えで与えたコードは、あなたのボタンクリックハンドラに入り、あなたが何を記述しているのか正確に行います。ユーザー**は、昇格された実行を承認するよう求められます。 Try-Catchが入ってくると、それはその例外とそのMessageBoxを、それらがクリックされたボタンと共にアプリケーション内に投げ込む。実行するアプリが同じアプリの別のインスタンスである場合、Application.Exitを使用してProcess.Startを実行します。ユーザーが昇格実行を受け入れる場合にのみ到達します。 – MrGadget

関連する問題