您的位置:首页 > 运维架构 > Shell

Powershell 工作流实战(1)

2016-02-25 11:17 267 查看
假如说我们要写个powershell脚本,功能是找出禁用的账号,找出过期的账号,找出密码永不过期的账号,则可以运行以下三条语句即可。

Search-ADAccount -AccountDisabled | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\01-DisabledAccounts.csv -NoTypeInformation
Search-ADAccount -AccountExpired | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\02-ExpiredAccounts.csv -NoTypeInformation
Search-ADAccount -PasswordNeverExpires | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\03-PsswdNeverExpireAccounts.csv -NoTypeInformation
如果改成workflow脚本,则可以写成如下:

workflow get-ADReport {

parallel {
Search-ADAccount -AccountDisabled | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\01-DisabledAccounts.csv -NoTypeInformation

Search-ADAccount -AccountExpired | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\02-ExpiredAccounts.csv -NoTypeInformation

Search-ADAccount -PasswordNeverExpires | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\03-PsswdNeverExpireAccounts.csv -NoTypeInformation

}

}




还可以改成这样的

workflow get-ADReport {

workflow get-disabled {
Search-ADAccount -AccountDisabled | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\01-DisabledAccounts.csv -NoTypeInformation
}
workflow get-expired {
Search-ADAccount -AccountExpired | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\02-ExpiredAccounts.csv -NoTypeInformation
}
workflow get-passwordneverexpire {
Search-ADAccount -PasswordNeverExpires | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\03-PsswdNeverExpireAccounts.csv -NoTypeInformation
}
parallel {
get-disabled
get-expired
get-passwordneverexpire
}

}


再或者,将它们单独放置,改成以下模式也是可以的

workflow get-disabled {
Search-ADAccount -AccountDisabled | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\01-DisabledAccounts.csv -NoTypeInformation
}
workflow get-expired {
Search-ADAccount -AccountExpired | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\02-ExpiredAccounts.csv -NoTypeInformation
}
workflow get-passwordneverexpire {
Search-ADAccount -PasswordNeverExpires | Select-Object -Property DistinguishedName | Export-Csv -Path c:\workflow\03-PsswdNeverExpireAccounts.csv -NoTypeInformation
}

workflow get-ADReport {

parallel {
get-disabled
get-expired
get-passwordneverexpire
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: