2013-08-20 60 views
0

我需要使用powershell cmdlet和txt文件提取信息。尋找使用powershell提取信息

TXT文件包含組

的先進PowerShell的列表

我希望腳本...很簡單:

get-content c:\scripts\mygroups.txt 

我當時想對它運行一個Foreach對象cmdlet,並只拉專有名稱

問題是,我一直運行到-Filter命令,我不應該需要過濾器命令,因爲這些名稱完全是從AD中提取的。

Foreach-Object {Get-ADGroup -Filter "*" | select DistinguishedName}工作,但我不希望所有的組我想要的變量,我用於get-content命令。我覺得我錯過了-Filter和選擇我想要顯示的字段之間的某種類型的鏈接。請幫我把兩者聯繫在一起。謝謝!

這裏是我得到的錯誤... Cannot convert 'System.Object[]' to the type 'Microsoft.ActiveDirectory.Management.ADGroup

+3

如果你能向我們展示了txt文件例如內容,這將有助於 – Jimbo

回答

0

假設每個組的名字在文件中的行,也沒有空行,試試這個:

Get-Content c:\scripts\mygroups.txt | Foreach {Get-ADGroup $_} | 
    Select DistinguishedName 
0

你實際上可以拿出基思代碼中的「Foreach」部分,然後讓管道爲你做循環:

Get-Content c:\scripts\mygroups.txt | Get-ADGroup | Select DistinguishedName 

這仍然假設t該文本文件包含組名,(「名稱」屬性),每行只有一個組名。

+0

這工作正常。謝謝! – user2700624

0

管文件到Get-ADGroup cmdlet的內容,擴大每個輸出對象的distinguishedName:

Get-Content c:\scripts\mygroups.txt | 
Get-ADGroup | 
Select-Object -ExpandProperty DistinguishedName