我想在远程计算机上运行几行代码,因此我必须使用"调用命令"cmdlet来实现这一点。我想运行的脚本相当长(不仅仅是一个简单的命令,还有一些循环、条件等),所以不可能只内联复制代码。那么谁能教我这样做的语法呢?
for example: I have the following code:
Function createDict(){
$Dict = @{}
$Variables = Get-Content .Variables.ini.
foreach ($str in $Variables){
if ($str -eq ""){
continue
}
if ($str.StartsWith("[") -or $str.StartsWith("#")){
continue
} else {
$Pair = $str.Split('=')
$Dict.Add($Pair[0], $Pair[1])
}
}
return $Dict
}
Import-Module virtualmachinemanager
stop-VM NHQA-W8-64b-Q13
start-VM NHQA-W8-64b-Q13
你不需要试图理解上面的代码,我只是想告诉你我在这里尝试在远程机器上执行什么样的事情。提前非常感谢!
您有几个选择,可能更多:
使函数/cmdlet 可用作脚本,并在远程会话上对它们进行点源处理:
. \pathtocmdlets.ps1
另一个选项是 PowerShell 中的脚本块是一个对象,因此可以分配给变量并以这种方式重用。请考虑以下简单示例:
$files = { -not $_.PSIsContainer }
$folders = { $_.PSIsContainer }
dir | ? $files
dir | ? $folders
我希望这些想法有所帮助。很抱歉我没有更直接的答案。也许如果你能提供一些例子来说明你尝试过什么以及你遇到的错误,这将有助于给出一个更直接、更好的答案。