这就是我想要完成的事情:我需要用户在登录计算机时自动运行powershell脚本,让脚本启动Elevated Powershell提示符(就像用户可以以管理员身份单击Run Powershell一样),然后让它在新的中运行一些命令Powershell对象,然...
![](https://oss.womengda.net/imgfile/2309/1E39A1E0cP-45956.jpg)
这就是我想要完成的事情:
我需要用户在登录计算机时自动运行powershell脚本,让脚本启动Elevated Powershell提示符(就像用户可以以管理员身份单击Run Powershell一样),然后让它在新的中运行一些命令Powershell对象,然后关闭新的Powershell对象.
此函数当前将在Elevated模式下创建并运行新的Powershell对象.
function Set-Elevation
{
# Create a new process object that starts 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
}
但是,如何让它在那里运行新命令?之后如何关闭物体?
任何关于语法的提示都将不胜感激.
解决方法:
您可以使用内置的Start-Process命令:
function IsAdministrator
{
$Identity = [System.Security.Principal.WindowsIdentity]::GetCurrent()
$Principal = New-Object System.Security.Principal.WindowsPrincipal($Identity)
$Principal.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
}
function IsUacEnabled
{
(Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System).EnableLua -ne 0
}
#
# Main script
#
if (!(IsAdministrator))
{
if (IsUacEnabled)
{
[string[]]$argList = @('-NoProfile', '-NoExit', '-File', $MyInvocation.MyCommand.Path)
$argList += $MyInvocation.BoundParameters.GetEnumerator() | Foreach {"-$($_.Key)", "$($_.Value)"}
$argList += $MyInvocation.UnboundArguments
Start-Process PowerShell.exe -Verb Runas -WorkingDirectory $pwd -ArgumentList $argList
return
}
else
{
# Log an error, do nothing or Start-Process -Credentials <admin_creds>
}
}
沃梦达教程
本文标题为:c# – 如何启动新的PowerShell实例并在其中运行命令?
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
猜你喜欢
- Oracle中for循环的使用方法 2023-07-04
- Unity Shader实现模糊效果 2023-04-27
- Unity3D实现渐变颜色效果 2023-01-16
- user32.dll 函数说明小结 2022-12-26
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- c# 模拟线性回归的示例 2023-03-14
- 如何使用C# 捕获进程输出 2023-03-10
- .NET CORE DI 依赖注入 2023-09-27
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- 在C# 8中如何使用默认接口方法详解 2023-03-29