Powershell 通过OUTLOOK SMTP服务器发送电子邮件的脚本

Powershell 通过OUTLOOK SMTP服务器发送电子邮件的脚本,powershell,active-directory,Powershell,Active Directory,我有一个任务要在PowerShell中编写一个脚本,在那里我需要从广告中获取一个以字母“a”开头的名称列表,其中包含全名、用户名和创建日期标准。 然后导出带有自定义标题的列表,并将其导出为CSV文件 然后再次导入CSV文件并输出工作两年以上的任何人(全名) 到目前为止,我认为我已经正确地完成了脚本,因为它是有效的。 现在我陷入了困境,我需要让列表中的每个用户首先创建一个文件夹(无论在哪里),并对该文件夹授予完全权限-我做了一些事情,但似乎不正确。 然后,我需要发送一封电子邮件,其中包含一个表格,

我有一个任务要在PowerShell中编写一个脚本,在那里我需要从广告中获取一个以字母“a”开头的名称列表,其中包含全名、用户名和创建日期标准。 然后导出带有自定义标题的列表,并将其导出为CSV文件 然后再次导入CSV文件并输出工作两年以上的任何人(全名) 到目前为止,我认为我已经正确地完成了脚本,因为它是有效的。 现在我陷入了困境,我需要让列表中的每个用户首先创建一个文件夹(无论在哪里),并对该文件夹授予完全权限-我做了一些事情,但似乎不正确。 然后,我需要发送一封电子邮件,其中包含一个表格,该表格说明了完整名称和文件夹路径,并且发件人将被删除no@reply.com.

我写的代码是:

 Get-ADUser -filter * -SearchBase "OU=meitavdash,OU=Users,DC=meitav,DC=co,DC=il"

    Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} |Format-Table name,SamAccountName,whenCreated

    Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | Select-Object @{n='FullName';e={$_.Name}},@{n='UserName';e={$_.SamaccountName}},@{n='CreateDate';e={$_.WhenCreated}} |  export-csv -path c:\userexport.csv
    Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | where {$_.whencreated -le (Get-Date).AddYears(-2)}|Select-Object @{n='FullName';e={$_.Name}} 

    $sp=$((Get-Date).AddDays(-365*2)); Get-ADUser -Properties whenCreated -Filter {name -like "A*" -and whenCreated -ge $sp}|%{New-Item -Path "c:\temp" -ItemType Directory; icacls "c:\temp" /T /grant "$($_.samaccountname):(OI)(CI)F"

sendmailmessage
是你的朋友:

至于这个

“我的问题是,我不知道如何实际创建一个包含完整 名称和文件夹路径“

。。你要的是这顶帽子吗

Get-ADUser -filter * -SearchBase 'OU=meitavdash,OU=Users,DC=meitav,DC=co,DC=il'

Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | 
Format-Table name,SamAccountName,whenCreated

Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | 
Select-Object @{
n='FullName';e={$_.Name}},
@{n='UserName';e={$_.SamaccountName}},
@{n='CreateDate';e={$_.WhenCreated}} |  
export-csv -path c:\userexport.csv

Get-ADUser -Properties whenCreated -Filter {samaccountname -like 'A*'} | 
where {$_.whencreated -le (Get-Date).AddYears(-2)}|Select-Object @{n='FullName';e={$_.Name}} 

$sp=$((Get-Date).AddDays(-365*2))
Get-ADUser -Properties whenCreated -Filter {name -like "A*" -and whenCreated -ge $sp} | 
%{
    $PathUnc = (New-Item -Path 'c:\temp' -ItemType Directory).FullName
    icacls 'c:\temp' /T /grant "$($_.samaccountname):(OI)(CI)F"
} 

我知道我需要使用send mailmessage命令解决我的问题我不知道如何实际创建一个带有全名和文件夹路径的表,并在我认为要发送HTML模板的已发送电子邮件中对其进行校准