Powershellを使用して別のユーザーとしてRSATツールを実行する


0

私が達成しようとしているのは、PowerShellスクリプトから別のユーザー(Domain-Admin)としてRSATツールを実行することです。

ここに私の実行コードがあります:

Start-Process -FilePath "C:\Windows\system32\mmc.exe" -ArgumentList "C:\Windows\system32\gpmc.msc" -Credential (Get-Credential -Credential MYDOMAIN\myadminuser)

そして、私が得るのはエラーです:このコマンドは昇格した権限でのみ開始できます。これで、UACの制限のために管理者ユーザーを使用してスクリプトを実行しなければならなかったことがわかりました。

誰かが私のために助けてくれましたか?

ありがとう!

編集

より明確にするために、スクリプト全体を添付しました。

$title = "Windows 8.1 RSAT Tools"
$message = "Verwaltungskonsole"

$ad = New-Object System.Management.Automation.Host.ChoiceDescription "&AD Verwaltung", `
"Active Directory-Benutzer und -Computer"

$gpo = New-Object System.Management.Automation.Host.ChoiceDescription "&GPO Verwaltung", `
"Gruppenrichtlinienverwaltung"

$options = [System.Management.Automation.Host.ChoiceDescription[]]($ad, $gpo)

$result = $host.ui.PromptForChoice($title, $message, $options, 0) 

switch ($result)
{
    0 
    {
    Start-Process -Verb RunAs -FilePath "C:\windows\system32\mmc.exe" -ArgumentList "C:\windows\system32\dsa.msc" -Credential (Get-Credential -Credential MYDOMAIN\myadminuser)
    }
    1 
    {
    Start-Process -Verb RunAs -FilePath "C:\windows\system32\mmc.exe" -ArgumentList "C:\windows\system32\gpmc.msc" -Credential (Get-Credential -Credential MYDOMAIN\myadminuser)
    }
}

回答:


1

これは、次の2つの問題に要約できます。

  • それ以外の場合は必要な変更を行うことが許可されていないため、ツールは実際に昇格する必要があります。これは通常、ローカルでマシン上でツールを実行し、そのマシンに固有の変更を行う場合です。その場合、コマンドを実行する前にコンソールを上げる必要があります。これは、次を使用してpowershellから直接実行できます。

    $newProcess = New-Object System.Diagnostics.ProcessStartInfo "powershell";
    #Indicate that the process should be elevated
    $newProcess.Verb = "runas";
    #Start the new process
    [System.Diagnostics.Process]::Start($newProcess) | Out-Null
    

ここのソース。

  • このツールは不適切に構成されており、適切なユーザーとして実行するだけで、必要な変更を行うことができます。これは通常、ツールによってリモートサーバーを管理する場合に当てはまります。その場合、アプリケーション互換性ツールキット(ダウンロード)を使用してRunAsInvoker修正プログラムを実行可能ファイルに適用し、コマンドの開始方法(asAdmin、asInvoke、asHighest)を変更できます。
    • 互換性管理者を開きます
    • 現在のデータベースに新しい修正を作成する
    • 実行可能ファイルへのパスを設定します
    • 修正のリストからRunAsInvokerを選択し、設定をクリックし、モジュールでeditBoxタイプ*をクリックして、追加をクリックします
    • データベースを保存し、右クリックしてインストールします

残念ながら、これはMMCでは機能しません。


答えてくれてありがとう!私は実際にその間に最初の部分を実際に試しましたが、うまくいきませんでした。私はあなたの答えの2番目の部分を見て、それに戻ります!
ラングハルト

正確にどのツールについて話しているのですか?
nohwnd

ツールはmmc.exeであり、開こうとしているコンソールは、アクティブディレクトリまたはgpoコンソールのいずれかです。(dsa.msc / gpmc.msc)。また、私はshift-righclickでプログラムを実行し、ドメイン管理者の資格情報を問題なく入力できますが、必要なコンソールを選択できる他の管理者ユーザー用のメニューを持つpowershellスクリプトが欲しいです資格情報の入力を求められます。
ラングハルト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.