我有一个令我不安的问题。Powershell从文件传递命名参数
我想自动执行powershell脚本命名参数,但在另一个powershell脚本(这将作为脚本deamon)。
例如:
一说被调用的脚本有这个参数
param(
[int]$version,
[string]$user,
[string]$pass,
[string]$domain,
)
PowerShell脚本守护进程现在加载文件和参数,像这样
$argumentsFromScript = [System.IO.File]::ReadAllText("C:\params.txt") $job = Start-Job { & "ps1file" $arguments}
params.txt包含这样的数据
-versionInfo 2012 -user admin -pass admin -domain Workgrup
但是,当我尝试执行此代码显然整个$ argumentsFromScript变量将被视为参数1(版本)和我结束了一个错误,即“-versionInfo 2012 - 用户管理-pass管理 - 域的Workgrup“不能转换为Int32 ...
你们有什么想法我可以如何完成这项任务? Powershell deamon不知道任何有关参数。他只需要使用给定的命名参数执行脚本。 params.txt只是一个例子。任何其他文件(csv,ps1,xml等)都可以,我只想自动获取传递给脚本的命名参数。
感谢您预先的任何帮助或建议..
谢谢您的解决方案:) – 2014-09-17 06:17:53