2017-07-06 11 views
0

これは簡単だと思います。CMDをPowerShellの管理者として実行してください

$cred = Get-Credential $env:USERDOMAIN\$env:USERNAME 
$credUser = $cred.UserName 
$credPW = $cred.Password 

$Col1Row2 = New-Object System.Windows.Forms.Button 
$Col1Row2.Location = New-Object System.Drawing.Size(5,80) 
$Col1Row2.Size = New-Object System.Drawing.Size(150,25) 
$Col1Row2.Text = "CMD as Admin" 
$Col1Row2.Add_Click({Write-Host "Started Command Prompt.";$x= RunAs /user:$credUser C:\Windows\System32\cmd.exe }) 
$objForm.Controls.Add($Col1Row2) 

は私のフォーム内のコマンドプロンプトを開始するためのボタンがありますが、私はそれが最初にユーザーの資格情報をキャッチし、実行するためにそれらを使用することにより、管理者として起動します。問題は、これをどのように動作させるかを理解できないように思えることです。

スクリプトで実行すると、(ISEの)動作しないようです。 PowerShellの行をRunAs /user:$credUser C:\Windows\System32\cmd.exeとして実行すると、パスワードを尋ねられます。最後にパスワードをつけて実行すると気にしないようです。いかなる援助も感謝します。

答えて

0

[email protected]("/C";"$x";" >d:\temp\result.txt")

パラメータを使用すると、コマンドプロンプトに渡したいあなたのパラメータに変更し、ここに行きます。

Start Processは資格オブジェクトを取得し、このアプローチを提案します。

[email protected]("/C";"$x";" >d:\temp\result.txt") 
$prog="cmd.exe" 
Start-Process -Credential $cred -Verb runas $prog +$params 
+0

'Start-Process -Credential $ cred -Verb runas cmd.exe'は、' Start-Process:指定された名前付きパラメータを使ってパラメータセットを解決できません.'を返します。さらに、実行するパラメータはありません。キャプチャしたユーザー情報でcmd.exeを実行したいだけです。 – Nate

+0

コマンドプロンプトを開いたときに何をしているのか教えてください。特定のコードセットが正しく実行されますか? –

+0

https://social.technet.microsoft.com/Forums/windowsserver/en-US/132e170f-e3e8-4178-9454-e37bfccd39ea/startprocess-verb-runas-credential?forum=winserverpowershellこれはあなたを正しく導くかもしれない –

関連する問題