问题标签 [start-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5307 浏览

powershell - 通过本地系统帐户使用 powershell 提升信用

我想通过 Jenkins Job 使用 powershell 部署代码。这在 powershell ise 中运行良好。

但是当我从使用本地系统的 Jenkins 运行它时,我收到以下错误消息。

如果更改,我将 Jenkins 服务更改为另一个帐户,它可以工作。为什么提升的权限在本地系统帐户下不起作用?

注意:test.ps1 中唯一的代码是 New-Item c:\scripts\new_file.txt

0 投票
1 回答
8921 浏览

powershell - 如何在 PowerShell 中启动和停止进程?

这在 3 之前的 PowerShell 中应该可以正常工作。我需要运行两个进程:wuapp.exe 和带有屏幕保护程序选项卡的desk.cpl。我遇到的问题是,一旦我启动 wuapp.exe,进程名称就会在任务管理器中显示为 explorer.exe - 当前代码适用于 wuapp.exe,但不适用于每台机器。另一件事是当我杀死 rundll32 时,其他应用程序也会关闭。你有什么建议?

0 投票
3 回答
1864 浏览

powershell - 通过 Powershell 以管理员身份远程运行卸载程序

我正在开发一个小型软件部署脚本,该脚本使用 powershell 远程卸载和安装新版本的Check_MK 。

一切都很好——我能够本地化旧服务,停止它并确定它的安装路径。问题是运行服务的“uninstall.exe”。

这可以通过在使用凭据参数的服务器上使用 Powershell 会话日志记录来轻松完成。

问题是您不能在脚本中使用 PSSession - 它是供个人使用而不是自动化的。

所以我尝试使用 Powershells Invoke-Command cmdlet。

调用 exe 文件以查询管理员凭据结束。

我还尝试远程启动提升的 Powershell 会话并将其用于卸载..

使用提升的 Powershell 会话执行位于服务器上以启动uninstall.exe 的脚本以 UAC 查询结束(不是查询凭据,而是要求执行)。

有没有其他解决方案来处理这个问题?我尝试了更多,但没有任何效果。

0 投票
4 回答
10474 浏览

powershell - 有没有办法通过启动过程将可序列化对象传递给 PowerShell 脚本?

我知道 PowerShell 作业,但我想使用 start-process 并将可序列化的对象传递给新的 powershell 进程。有没有办法做到这一点?

似乎使用 start-process 你必须提供一个字符串参数列表,它不会为我剪掉它。我正在尝试将 PSCredential 从一个进程获取到另一个进程(或 SecureString,我将采用其中一个)。也许这会绕过安全性。


更新 - 在看到其他人的帮助后添加我使用的解决方案(使用 @PetSerAl 的解决方案)

我写了两个测试脚本:一个父脚本和一个子脚本。父脚本调用子脚本。

父脚本:

子脚本:

0 投票
1 回答
16454 浏览

powershell - PowerShell 使用其他用户凭据启动进程并等待

我正在使用具有提升权限的另一个用户使用PowerShell启动一个进程。

我知道将用户凭据写入代码是一种不好的风格,但它在全自动过程中使用,所以这是必要的。我的问题是,我不能等到进程(最后一行代码)完成。内部进程按预期等待。

我尝试了参数-Wait,* | 等待进程,* | Out-Null,返回值(始终为 null) 没有任何效果。

是否有任何解决方案等到进程退出?如果 PowerShell 2.0 有任何解决方案,那将是我用例的最佳选择。

0 投票
0 回答
558 浏览

windows - PowerShell:为什么 Start-Process 不能同时使用 -Verb 和 -RSO?

PowerShell 新手在这里。我正在尝试以Start-Process提升的权限(通过-Verb RunAs)运行并记录结果(通过-RSO output.txt)。出于某种原因,它不会同时接受两者。这很好用,例如:

和这个:

但不是这个:

跑步Start-Process -?似乎验证了我的猜想。请注意如何在不同-RedirectStandardOutput-Verb部分列出:

为什么它们是互斥的,我能做些什么来绕过这个?

谢谢。

0 投票
3 回答
4060 浏览

powershell - 启动过程 - 等待不工作

我有调用另一个 .exe 文件的 powershell 脚本。 Start-Process ".\file.exe" -wait

file.exe 是一个带有一些消息的简单窗口,并且只有一个按钮可以关闭 .exe。

这是主脚本运行的第一行。我想等待并让用户单击关闭以继续执行其余代码。

然而,进程启动了,但主程序没有等待,而是开始执行其余的代码。

还有什么我需要做的吗?

0 投票
0 回答
126 浏览

powershell - PowerShell:使用记事本写入现有 variables.ps1 文件并将附加的 variables.ps1 保存在同一位置

我创建了一些从 variables.ps1 工作的 powershells 脚本。每次安装都需要更改此变量。该脚本首先运行一个简单的 COPYOUT.PS1。此 PS1 从 ISO 文件复制并将文件放在 C:\PSscript 上。一旦所有文件都在系统上,它就会打开 variables.ps1。这是我可以编辑 PS1 并保存它的时候。

问题是打开后我无法保存它。该脚本需要同名,因为我将 variables.ps1 复制到使用它来安装其他软件程序的其他服务器。一旦我关闭 variables.ps1,它需要通过将更新的 variables.ps1 发送到远程服务器来完成 COPYOUT.PS1。

我能做些什么来解决这个问题?

我调查过:

希望这是有道理的。谢谢你的帮助。

0 投票
1 回答
5609 浏览

powershell - Powershell Start-Process 不会在远程机器上启动进程

我正在做一个我必须启动一个应用程序并且这个应用程序应该在后台运行的作品。我尝试了 Start-Process cmdlet,如下所示:

删除-PSSession $newsession

发生的事情是我可以看到它在目标机器上启动了一个 cmd 进程,但随后它立即消失了。我不确定我应该在这里做什么才能让该过程始终启动并运行。另一方面,我也尝试了Invoke-Expression cmdlet,通过它我可以看到进程在远程机器上启动良好,但 powershell 脚本永远不会返回,这就是为什么想到使用 Start-Process。有什么建议么?

0 投票
1 回答
796 浏览

windows - 在远程机器上启动应用程序并保持运行,powershell 脚本不应等待进程完成

远程机器上有一个应用程序说 Vesper.exe。我现在正在做的是使用 powershell 会话远程登录机器。

要求:需要在远程机器上启动应用程序,并且应用程序应该在 powershell 脚本完成执行后继续运行

我试过两种方法,总结如下:

  • Invoke-Command:如果我使用此 cmdlet 启动应用程序,那么我的脚本会卡住并等待应用程序最终停止
  • Start-Process:如果我使用此 cmdlet,应用程序会开始运行,但会立即退出。我发现这个的原因是我使用了 cmdlet Remove-PSSession,然后我发现我应该使用Exit-PSSession来保持远程机器上的进程。但是这样做的问题是,一旦构建完成执行(或者如果我关闭 powershell 窗口),远程计算机上的应用程序就会自行停止。我不知道在这里做什么。

以下是powershell代码: