#清除现有PS会话
get pssession remove pssession out空
#为csv文件创建拆分函数
函数Split-array {
参数(inArray美元,(int)部分美元,美元(int)大小)
如果(零件){
$partSize=[数学]:天花板($inarray.count/$parts)
}
如果美元(大小){
$PASSIZE=$大小
$parts=[数学]:天花板($inarray.count/$size)
}
$outarray=new-object'system.collections.generic.list[psObject]
(i = 1美元;我部分;美元美元我+ +){
张美元开始= (($)* PartSize美元)
$end=($i)*$partSize)-1
if($end GE$inarray.count)$end=$inarray.count-1
$outarray.add(@($inarray[$start..$end]))
}
回报,outArray美元
}
功能连接交换联机{
参数(
美元信用证
)
连接到在线交换
$session=new-pssession–configurationname microsoft.exchange-connectionuri https://outlook.office365.com/powershell-liveid/-credential$凭据身份验证基本-alloweredirection
$commands=@(“添加mailboxpermission”,“添加recipientpermission”,“删除recipientpermission”,“删除mailboxpermission”,“获取mailboxpermission”,“获取用户”,“获取distributiongroupmember”,“获取distributiongroup”,“获取邮箱”)
Import-PSSession-Session Session-DisableNameChecking:美元true-AllowClobber: true-CommandName命令美元| Out-Null
}
#创建变量
$SplunkHost = "你的Splunk主机名或IP地址"
$SPlunkEventCollectorPort=“8088”美元
$SplunkEventCollectorToken = "Splunk Token from Http EventCollector "
$servicePrincipalConnection = Get-AutomationConnection -Name ' AzureRunAsConnection'
$credentials = Get-AutomationPSCredential -Name“Exchange Online”
#连接到Azure
Add-AzureRMAccount -ServicePrincipal -Tenant $servicePrincipalConnection.TenantID -ApplicationId $servicePrincipalConnection.ApplicationID -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
连接到在线交换
美元Connect-ExchangeOnline -Creds凭证
#调用脚本
$mailboxes = Get-Mailbox -resultsize无限制| select-object -property DisplayName,PrimarySmtPaddress公司,IsMailboxEnabled,ForwardingSmtpAddress,格兰森多半托,ProhibitSendReceiveQuota,AddressBookPolicy
获取当前日期和时间
$time=获取日期-格式S
#将时区转换为澳大利亚/布里斯班
$ bnetime = [System.TimeZoneInfo]:: ConvertTimeBySystemTimeZoneId(时间,美元[系统.时区信息]:本地.id,E。