İhtiyaç doğrultusunda office 365 panel üzerinde bulunan kullanıcı sayısı ve atanmış olan lisansların raporlanması gerekti.
Sürekli bu işlemi gui de yapmak yerine ufak bir script hazırlayarak task schedulera scripti bağlayıp işlemin belirtilen aralıklar ile mail atmasını ele alalım.
#ExchangeOnline ve türevi Microsoft ürün ailelerine bağlantı kimlik bilgileri
$AdminName = "xx@xx.onmicrosoft.com"
$Pass = Get-Content "C:\Scripts\Pass.txt" | ConvertTo-SecureString
$Cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminName, $Pass
#session sorgulama/session var ise bu adımı atla yok ise connect ol
$getsessions = Get-PSSession | Select-Object -Property State, Name
$isconnected = (@($getsessions) -like '@{State=Opened; Name=ExchangeOnlineInternalSession*').Count -gt 0
If ($isconnected -ne "True") {
Connect-MsolService -Credential $cred
}
#kullanıcıları ve atanmış lisansları çek ve belirtilen alana export et
Get-MSOLUser -All | Where-Object { $_.isLicensed -eq $true } |
Select-Object UserPrincipalName, DisplayName, {$_.Licenses.AccountSkuId} |
Export-CSV "C:\temp\office365usersandlicenses.csv" -NoTypeInformation -Encoding UTF8
#kullanıcı sayısını al
$adet=(Get-MSOLUser -All | Where-Object { $_.isLicensed -eq $true } | Select-Object UserPrincipalName, DisplayName, {$_.Licenses.AccountSkuId}).count
$o365users = "C:\temp\office365usersandlicenses.csv"
if($adet -ne 0) {
#toplanan verileri mail at
Send-MailMessage -To "
}
Bir yanıt yazın