[英]PSExec Pass argument with spaces for powershell
使用PSexec工具,我正在遠程計算機上調用powershell會話並執行PS1腳本。 我需要將參數傳遞給此powershell腳本文件。 如果參數不包含空格,它將很好地工作。 如果參數確實包含空格,則將修剪空格之后的所有內容。
下面是我的命令:
$script="<PATH>"
$args = "%ProjectSourcePath%"
cmd /c %psexecpath% \\<REMOTE SERVER> -u <UNAME> -p <PASSWORD> -h "c:\windows\system32\windowspowershell\v1.0\powershell.exe" $script $args
其中"%ProjectSourcePath%"
是環境變量。
背景:我正在Jenkins自動構建工具中使用此命令。 並已在Windows Powershell腳本塊中添加了此腳本。
首先,為了直接從命令行運行psexec,請使用此cmd將sysinternals(或任何psexec位置)文件夾添加到PATH中
SET PATH=%PATH%;[FOLDER]
接下來,運行命令行...
我已經創建了一個非常簡單的腳本創建文件,文件名是im傳遞
param (
[string]$name = "defaultname"
)
$array = "string"
$array | out-file "C:\Temp\Script Location\$name.txt"
從遠程服務器運行它時,請執行以下操作:
psexec \\build -h "C:\windows\system32\windowspowershell\v1.0\powershell.exe" "-File" "C:\temp\script location\script.ps1" "argument with space"
最后以名為“帶有space.txt的參數”的文件結尾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.