標準ユーザーが管理者(ドメイン)の資格情報を使用してフォームを実行したいと考えています。VB.NET管理者のユーザー名とパスワードを使用してフォームからフォームを実行
私は最初に管理者として実行せずに1つのフォームを実行することはできませんが、フォーム上のボタンをクリックしてそのアクションが管理者の認証情報を組み込んだ別のフォームを起動できるかどうかは疑問です。
標準ユーザーが管理者(ドメイン)の資格情報を使用してフォームを実行したいと考えています。VB.NET管理者のユーザー名とパスワードを使用してフォームからフォームを実行
私は最初に管理者として実行せずに1つのフォームを実行することはできませんが、フォーム上のボタンをクリックしてそのアクションが管理者の認証情報を組み込んだ別のフォームを起動できるかどうかは疑問です。
これが機能するかどうかに関する入力を得ることはできますか?私は一緒にそれをつなぎ、まだすべてのテストでそれを実行していない。 .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)
答えに質問をしないでください。上記の質問を更新するか、新しい質問を作成してください。 – MrGadget
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
申し訳ありませんが、私はそれが私が求めているとは思わない。アプリケーションのフォーム上のボタンをクリックし、そのボタンに管理者の資格情報を組み込んだ別のアプリケーションを起動させる必要があります。私は、ユーザーがクリックして管理者の資格情報や警告のリクエストを出すことは望ましくありません。 – bowlingbrad
これが機能するかどうかについていくつかの情報を得ることができますか?私は一緒にそれをつなぎ、まだすべてのテストでそれを実行していない。 .batファイルを実行しているようです。これは単にEXEに変更することができますか? 'code' – bowlingbrad
私は自分の答えで与えたコードは、あなたのボタンクリックハンドラに入り、あなたが何を記述しているのか正確に行います。ユーザー**は、昇格された実行を承認するよう求められます。 Try-Catchが入ってくると、それはその例外とそのMessageBoxを、それらがクリックされたボタンと共にアプリケーション内に投げ込む。実行するアプリが同じアプリの別のインスタンスである場合、Application.Exitを使用してProcess.Startを実行します。ユーザーが昇格実行を受け入れる場合にのみ到達します。 – MrGadget
管理者権限は、アプリケーションごとにあり、フォーム別のフォームではありません。 – Plutonix
申し訳ありませんが、私は本当にあまりよく分かりません。私はフォームの代わりにアプリケーションを意味すると思います。だから別のアプリケーション(フォーム)のボタンから別のアプリケーション(フォーム)を実行できますか? – bowlingbrad