【发布时间】:2014-12-03 16:08:12
【问题描述】:
你学到的关于编程的一件事就是总是处理错误。 但是,在这种情况下,我的程序没有错误;似乎什么都没有打印。 我只需要两列中的组名和管理信息。你能解释一下为什么没有输出吗?
Import-Module ActiveDirectory
$exportlist = "C:\Temp\managedby.txt"
Clear-Content $exportlist
$Header = `
"Group ID Name" + "|" + "ManagedBy"
$Header | Out-File $exportlist -Append
$list = get-adgroup -properties name, managedby -filter {name -notlike "WA*" -or name -notlike "workstation*"} `
| Select name, managedby
$listing =`
$list.name + "|" + $list.managedby
$listing | Out-File $exportlist -Append
这是我在 PowerShell 中运行时出现的结果:
PS F:\> $Header = `
>> "Group ID Name" + "|" + "ManagedBy"
>>
PS F:\> write-host $Header
Group ID Name|ManagedBy
PS F:\> $list = get-adgroup -properties name, managedby -filter {name -notlike "WA*" -or name -notlike "workstation*"} `
>> | Select name, managedby
PS F:\> $listing =`
>> $list.name + "|" + $list.managedby
PS F:\> write-host $listing
|
看起来$listing 什么都没有?
【问题讨论】:
-
您是否尝试将
$Header和$listing发送到屏幕上只是为了看看它们是否真的包含任何内容? -
请看我的编辑。唯一打印的是我的“|”行
-
那么问题是 nothing 被放入文本文件还是 只有标题 显示在文本文件中?
-
在我看来
Get-ADGroup不会产生结果,或者结果对象具有空的name和managedby属性。通过单独运行Get-ADGroup -Properties name, managedby -Filter {Name -notlike "WA*" -or Name -notlike "workstation*"}来验证这一点。
标签: powershell output