Windows PowerShell变量中的空格无法继续

时间:2019-09-13 09:57:43

标签: powershell escaping

我有以下PowerShell脚本:

$HPLOCONS = "C:\Users\i\OneDrive - A\Documents\A\ILOstuffs\HPLOCONS.exe"
$FilePath = "C:\Users\i\OneDrive - A\Documents\A\ILOstuffs\ilo.txt"
$iLOUser = "uid"
$iLOPass = "PW"

$iLOs = Get-Content $FilePath;
echo "Number of iLOs ="$iLOs.Count;
echo $iLOs | Out-GridView

foreach ($iLO in $iLOs) {
    Invoke-Expression "$HPLOCONS -name $iLOUser -password $iLOPass -addr $iLO"
}

由于我移至OneDrive,因此无法处理$HPLOCONS$Filepath中的空间。它在抱怨空间。 我该如何逃脱呢?我尝试了很多方法,但没有任何效果。

1 个答案:

答案 0 :(得分:3)

Invoke-Expression IS EVIL. DO NOT USE IT.

改为使用call operator

& $HPLOCONS -name $iLOUser -password $iLOPass -addr $iLO