0

我有一个脚本,它生成一个带有可变输入的 UI,并将这些变量放入 .txt 中。我需要能够将部分文本文件调用到另一个脚本中。IE:

文本文件读取用户 ID:用户名

我需要分隔这一行并将“用户名”作为另一个脚本中的变量调用,以便脚本将读取:

import-module ActiveDirectory
$id = "username"
$ADLocation = ($id.ParentContainer)
$hoou = "OU=User,OU=Office,OU=win7,DC=company,DC=corp"
get-aduser $id
Move-ADObject -Identity $ADLocation -TargetPath $hoou

有人可以帮忙吗?

4

2 回答 2

0
  1. 我无法理解您在这里实际要求的是什么。这个问题对我来说没有多大意义。
  2. 将您需要稍后调用的数据存储在 txt 文件中是可以的,但您应该考虑将其存储在 CSV 中。PowerShell 支持使用 Import-Csv 和 Export-Csv 命令导出和导入 CSV 文件。
于 2013-02-17T21:18:16.067 回答
0

您可以将变量作为 PowerShell 变量存储在 .ps1 文件中吗?

$userId = "username"

然后你可以简单地点源文件:

. C:\path\to\vars.ps1

更新:由于您不能使用 PowerShell 格式,您必须解析输入文件。如果用户信息的行看起来像你上面提到的

用户ID:用户名

你可以做这样的事情来提取用户名并将其分配给一个变量:

$username = Get-Content C:\vars.txt `
              | ? { $_ -match '^\s*UserID:\s*' } `
              | select -First 1 `
              | % { ($_ -split ':\s*', 2)[1] }
于 2013-02-17T23:17:15.137 回答