首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过start-process将来自powershell脚本的stdout、stderr重定向为admin

通过start-process将来自powershell脚本的stdout、stderr重定向为admin
EN

Stack Overflow用户
提问于 2018-06-09 01:43:59
回答 1查看 4.4K关注 0票数 5

在powershell脚本中,我运行了一个命令,该命令以管理员身份启动一个新的powershell (如果不是这样的话,如果需要,取决于$arg),然后运行该脚本。

我正在尝试将stdout和stderr重定向到第一个终端。

不是为了让事情变得更容易,也有争论。

代码语言:javascript
复制
param([string]$arg="help")

if($arg -eq "start" -Or $arg -eq "stop")
{
    if(![bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544"))
    {
        Start-Process powershell -Verb runas -ArgumentList " -file servicemssql.ps1 $arg"
        exit
    }
}

$Services = "MSSQLSERVER", "SQLSERVERAGENT", "MSSQLServerOLAPService", "SSASTELEMETRY", "SQLBrowser", `
"SQLTELEMETRY", "MSSQLLaunchpad", "SQLWriter", "MSSQLFDLauncher"

function startsql {
    "starting SQL services"
    Foreach ($s in $Services) {
        "starting $s"
        Start-Service -Name "$s"
    }
}

function stopsql {
    "stopping SQL services"
    Foreach ($s in $Services) {
        "stopping $s"
        Stop-Service -Force -Name "$s"
    }
}

function statussql {
    "getting SQL services status"
    Foreach ($s in $Services) {
        Get-Service -Name "$s"
    }
}

function help {
    "usage: StartMssql [status|start|stop]"
}

Switch ($arg) {
    "start" { startsql }
    "stop" { stopsql }
    "status" { statussql }
    "help" { help }
    "h" { help }
}

在SO上使用以下答案不起作用:

如何处理双引号内的双引号,同时保留变量($arg)扩展?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50765949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档