내가 달성하려는 작업은 Powershell-Script에서 일부 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
이는 두 가지 문제로 귀결될 수 있습니다.
도구는 실제로 관리자 권한으로 실행해야 합니다. 그렇지 않으면 필요한 변경 작업을 수행할 수 없기 때문입니다. 이는 일반적으로 컴퓨터에서 로컬로 도구를 실행하고 해당 컴퓨터와 관련된 변경을 수행하는 경우입니다. 이 경우 명령을 실행하기 전에 콘솔 권한을 높여야 합니다. 이 작업은 다음을 사용하여 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 수정 사항을 적용합니다.
- 호환성 관리자를 엽니다
- 현재 데이터베이스에 새 수정 사항 만들기
- 실행 파일의 경로를 설정하십시오
- 수정 사항 목록에서 RunAsInvoker를 선택하고 기본 설정을 클릭한 다음 모듈 editBox에서 *를 입력하고 추가를 클릭합니다.
- 데이터베이스를 저장하고 마우스 오른쪽 버튼을 클릭하여 설치하십시오.
불행히도 이것은 MMC에서는 작동하지 않습니다.
답변2
다음을 사용하여 실행되도록 변경할 수 있습니다.
saps "cmd" -workingdirectory $PSHOME -Credential $SU -ArgumentList "/c dsa.msc"