2013-02-17 69 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