只是添加到上面,我永遠不想永久刪除任何東西。所以,如果我工作的你在做什麼,我會創建一個對象,並將其存儲在一個文件
#You will only have to do this top section once, after that you will import the xml file created below to import the object
#region Initial Import
$ListOfNames = Get-Content C:\TEMP\test.txt
$nameTracking = @()
foreach($name in $ListOfNames)
{
$trackingObj = New-Object -TypeName psobject
$trackingObj | Add-Member -MemberType NoteProperty -Name Name -Value $name
$trackingObj | Add-Member -MemberType NoteProperty -Name EmailSent -Value $false
$trackingObj | Add-Member -MemberType NoteProperty -Name DateSent -Value $null
$nameTracking += $trackingObj
}
#endregion
#After the xml file is created the first time you will execute the following to import the names:
#$nameTracking = Import-Clixml -Path C:\temp\trackingSet.xml
$Random = $nameTracking | where {$_.EmailSent -eq $false} | Get-Random
# Send mail to $Random here, remember to access the name you'll have to use the property of $Random.Name
Send-MailMessage <your parameters here>
#Now set to the EmailSent/DateSent on the object
($nameTracking | where {$_.name -eq $Random.Name}).EmailSent = $true
($nameTracking | where {$_.name -eq $Random.Name}).DateSent = Get-Date
$nameTracking | Export-Clixml -Path C:\temp\trackingSet.xml
這個一個很好的事情太多就是你可以在屏幕上隨時打印的內容一個不錯的表物體。只需在導入XML後輸入$ nameTracking,然後您將得到一個包含每個用戶詳細信息的表格,如果他們收到了電子郵件以及它發送的日期。
您可以通過添加更多成員來包含您可能希望的信息來進一步改進此對象,您甚至可以將電子郵件地址與其中的人員姓名一起存儲以便更輕鬆地進行電子郵件收發。
「幾秒鐘」 - 爲什麼?爲什麼不立即刪除一個隨機線? –
這可以工作,我只是想通過電子郵件獲取名稱並將其發送給用戶可能需要幾秒鐘? –