【发布时间】:2017-01-23 04:56:51
【问题描述】:
我想执行这两个函数,第一个函数“ad”用于执行来自用户的列表,然后需要在输出函数中使用 csv 格式更新适当的输出,而执行脚本时输出为空。
$out = "F:\inactive.csv"
function ad () {
$users = Get-Content "C:\dis1.txt"
foreach ($user in $users) {
try {
$memberof = Get-ADUser $user -Properties * -ErrorAction Stop | Select-Object samaccountname, memberof
foreach ($groups in $memberof) {
if ($group=$groups.memberof -like "*mobile*") {
foreach ($name in $group) {
$gpnames += "$((Get-ADGroup $name).samaccountname);"
$gpname= "$($memberof.samaccountname),Exist,$($gpnames)"
}
Write-Output $gpname
} else {
Write-Output "$($memberof.samaccountname),Exist"
}
}
} catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] {
$usrname = "$($user),NotExist"
Write-Output $usrname
}
}
}
function output {
param($usrname,$memberof,$gpnames,$ad)
New-Object PSObject -Property @{
UserAccount = $memberof.samaccountname
NotExist = $usrname
GroupNames = $gpnames
}
$gpnames = $memberof = $usrname = $null
output | Select-Object useraccount, notexist, groupnames | Export-Csv $out
} return output
【问题讨论】:
-
抱歉,不清楚您在问什么。你遇到了什么困难?
-
需要执行两个函数,一个用于提取,另一个用于以csv格式输出。
-
错误是什么?您要纠正的行为是什么?
-
输出文件生成为#TYPE Selected.System.Management.Automation.PSCustomObject "UserAccount","NotExist","GroupNames" ,,
-
这仍然不能解释什么没有按预期工作。是否要从输出 CSV 中删除
#TYPE ...行?如果是这样,请将参数-NoType添加到Export-Csv。
标签: powershell csv active-directory