【发布时间】:2021-10-22 06:01:52
【问题描述】:
我有一个从 SQL 中获取一系列信息的脚本。然后它解析信息并将其传递给一系列数组。然后我想将每个数组传递给一个单独的脚本。
我已经看到 Start-job 应该能够做到这一点,但从我的测试来看,它似乎不起作用。这是我尝试过的。每个脚本单独工作,我目前只是使用 CVS 来传递信息。
一旦信息在脚本中,我需要能够调用每个对象的特定属性。我确实得到它只是将数组打印为字符串,但我不能调用任何特定的东西。
Invoke-Sqlcmd -Query $Q1 -ServerInstance $I -Database $DB | Export-Csv "$Files\Employees.csv"
$emps = Import-Csv "$Files\Employees.csv"
$newaccounts = @()
$deacaccounts = @()
$changedusers = @()
if(Test-Path -Path "$Files\Employees.csv"){
foreach ($emp in $emps) {
if ($emp.emp_num.trim() -ne $emp.EmpNum) {
$newaccounts += $emp
}
if ($emp.emp_num.trim() -eq $emp.EmpNum) {
if ($emp.fname -ne $emp.GivenName -and $emp.lname -ne $emp.SurName) {
$deacaccounts += $emp
$newaccounts += $emp
}
else ($emp.dept -ne $emp.DepartmentNumber -or $emp.job_title -ne $emp.JobTitle) {
$changedusers += $emp
}
}
}
}
Start-job -path "script" -argumentlist (,$deacaccounts)
Start-job -path "script" -argumentlist (,$changedusers)
Start-job -path "script" -argumentlist (,$newaccounts )
编辑: 传递给脚本的信息将是多行员工数据。我需要能够在“子”脚本中获取该信息并根据它们执行操作。
前: 失职=
| fname | Lname | empnum |
|---|---|---|
| ted | kaz | 1234 |
| sam | cart | 245 |
【问题讨论】:
-
后台工作对我来说并不重要。 “父”脚本将自动运行,所以它都在后台。我只需要能够传递信息。如果不同的命令会更好地工作,那很好。
标签: powershell automation