我有一个脚本要求 aUsername
和DateRemove (MM/DD/YYYY)
. 此输入将导出到具有函数的config.CSV
文件,格式为.-Append
CSV
Username,DateAdd,DateRemove
我想创建第二个 PS 文件作为每日计划任务运行。这是我迷路的地方,希望得到帮助......
我想引用它config.CSV
并将它DateRemove
与当前日期进行比较,如果有匹配我想要Username
执行“ Remove-ADGroupMember -Identity GroupName -Members $User
”,如果没有匹配我希望它什么都不做。
尝试使用单个 PS 脚本创建“删除”作业,但这失败并在我的计划任务中使用变量作为参数。更不用说它会创建 100 多个任务调度程序作业。这使我找到了一个用于用户输入的 PS 文件和一个用于引用“源”文件的计划作业的文件。
$User = Read-Host -Prompt 'Enter the username you want to add to group'
if ($User) {
Write-Host "$User will be added to the group"
} else {
Write-Warning -Message "We need a username to run this script"
}
Add-ADGroupMember -Identity Group -Members $User
$Date = Read-Host -Prompt 'Enter removal date'
if ($Date) {
Write-Host "$User will be removed from group on $Date"
} else {
Write-Warning -Message "We need a date to run this script"
}
[PSCustomObject]@{
Username = $User
DateAdd = Get-Date -Format g
DateRemove = $Date
} | Export-Csv -Path C:\config.csv -Append -NoTypeInformation -Encoding ASCII
$Date = Get-Date
$Config = Import-Csv C:\config.csv
Foreach($DateRemove in $Config) {
$DateRemove = $DateRemove.Date
if "$DateRemove" -eq $Date
现在我只是困惑..