PowerShell从脚本创建脚本

问题描述

我希望从Powershell脚本中创建Powershell脚本。

我遇到的问题是,我需要从远程Powershell终端向多台计算机构建并运行脚本。脚本必须在本地计算机上。不幸的是,我认为Invoke-Command或Enter-PSSession不可用,因为安装在各种计算机上的Powershell版本可能与它们不兼容。否则,这会使生活变得更加轻松:(

所以我来自UNIX / Linux背景,我希望使用纯文本创建PowerShell脚本,然后在本地执行该脚本。不幸的是,作为Powershell世界的新手,我希望Powershell脚本传递纯文本,而不希望将执行的输出传递给在本地计算机上创建的Powershell脚本。

在这里测试水域是我写的一个小脚本和输出。 VS所需的输出。

预先感谢!

脚本:

 $var = @"
ping 8.8.8.8 
"$env:computername"
"@

$var > \Users\pc\Desktop\ping.ps1

C:\Users\pc\Desktop\ping.ps1

Remove-Item -Path C:\Users\pc\Desktop\ping.ps1 -Force 

输出

ping 8.8.8.8 
"DESKTOP-****"

所需的输出

ping 8.8.8.8
$env:computername

解决方法

您将要使用单引号(')以避免变量扩展:

$var = @'
ping 8.8.8.8 
$env:computername
'@

$var > \Users\pc\Desktop\ping.ps1

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...