首页 > 解决方案 > 使用 Powercli 在脚本 PS 中运行 Bash 命令

问题描述

我尝试在 powercli V.11 中运行此脚本,但我总是遇到错误。

$vm= "server"
$adminGuest="root"
$adminGuestPwd="pass"
$command =   " df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }'"
Invoke-VMScript -vm $vm -ScriptText $command -GuestUser $adminGuest -GuestPassword $adminGuestPwd -ScriptType Bash 

我不知道如何将此脚本集成到我的代码中df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }'

谢谢

标签: linuxbashpowershellvmwarepowercli

解决方案


awk 命令中的双引号会混淆 PowerCLI 代码检查。如果您在 awk 中尝试不带双引号的命令,您仍然不会得到您期望的结果,因为 awk 没有正确解析数据。

也许您可以使用 Invoke-VMScript 收集信息,然后使用 Powershell 以某种方式对其进行解析。

$command =   " df -H | grep -vE '^Filesystem|tmpfs|cdrom' "
$output = Invoke-VMScript -vm $vm -ScriptText $command -GuestUser $vCUser -GuestPassword $vCPass -ScriptType Bash 
$output.ScriptOutput

推荐阅读