2013-02-17 67 views
0

我有一个脚本,变成一个UI变量输入并将这些变量放入.txt。我需要能够将部分文本文件调用到另一个脚本中。 IE:从文本文件(PowerShell)拉变量

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

我需要单独的这条线,并呼吁“用户名”的另一种语言的变量,因此该脚本将读取:

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 

谁能帮?

回答

0

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

$userId = "username" 

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

. C:\path\to\vars.ps1 

更新:既然你无法使用PowerShell的格式,你必须分析输入文件。如果与用户信息的行看起来像你上面

提到的用户名:用户名

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

$username = Get-Content C:\vars.txt ` 
       | ? { $_ -match '^\s*UserID:\s*' } ` 
       | select -First 1 ` 
       | % { ($_ -split ':\s*', 2)[1] } 
+0

我希望但是这是从公司用于其他应用程序的现有.txt文件中提取的。我们还使用.txt进行一些手动过程。 – Evanm87 2013-02-17 23:36:21

+0

完美!谢谢 – Evanm87 2013-02-18 00:14:15

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

我想简化我的问题我有一个存储在文本文件中的变量。该行看起来像这样 UserID:用户名 我需要从这行抓取用户名并将其变成变量 P.S. csv会使这更容易,但现在我必须继续使用我们公司的SOP进行日志记录,一旦我在这方面变得更好一点,就会变成日志记录。 (还是)感谢你的建议。 – Evanm87 2013-02-17 22:11:30