Exchange 2010 Find Send Messages

This is a quick one. This cmdlet will help you search the message tracking logs on the hub transport server to see who send emails to external email domains.

Edit properties of Powershell window to width = 120 and height = 500
Run the following cmdlet:
Get-MessageTrackingLog -resultsize unlimited |where-object {$_.Recipients -like ì*@gmail.com, *@yahoo.comî -AND $_.EventId -eq ìSendî} |ft -auto >>C:\External mails.txt

Back-uppen van exchange mailbox DataBase duurt lang

Onlangs heb ik een melding van de servicedesk binnen gekregen dat het back-uppen van de Exchange 2010 server ongeveer 770 uur duurt en dat voor 700 Gb aan mail bestanden.

Toen ik controleerde sinds wanneer de het back-uppen van de mailbox zolang duurde kwamen we er achter dat deze al ruim anderhalve maand geen goede back-ups meer maakte. Na verloop van tijd wordt de back-up afgebroken. Dus bij een calamiteit en de failover database is ook beschadigd kan de back-up wel teruggezet worden alleen met een een database van meer dan een maand oud. Afijn het oplossen van de de back-up heeft prio.
Om te beginnen controleer je de Exchange Server, waarom gaat het back-uppen niet goed als andere back-ups wel goed gaan. Er wordt gebruik gemaakt van Acronis Back-up Solutions. Bij het inloggen op het exchange cluster zijn er 2 nodes. Via EMC zagen we dat de mailbox state van de secondary node in error state stond. In de event viewer werden er om de minut twee errors gemeld. Deze meldingen gaven aan dat de primary node waarvan de kopie gemaakt wordt niet benaderd kan worden.
Via Powershell werdt met het commando get-mailboxbasereplicastatus -identity %db-name% | fl duidelijk dat de laatste datum dat de replica gelopen had op 30 maart was de laatste keer dat er getracht verbinding te maken was de huidige dag ongeveer 3 min geleden dan de controle datum.
Met het commando Update-MailboxDatabaseCopy ñIdentity ìDB_name\Serverî ñDeleteExistingFiles Kon het repliceren van de database hersteld worden.

Inventory your Network and Clients

Many organizations have a wide range of computers and users, for us system administrators it is difficult to get an overview. Yes, SCCM provides a list of all users who logged on previously, but can we rely on these log files? My manager asked me to retrieve a complete list of all computers and users and SCCM was the first option. The list SCCM provided was incomplete and 60% of all entries didnít have a NetworkLoginProfile or outdated user profile. 60% of 1000+ computers is muchÖ

Well how to tackle this issue:

The PowerShell command below retrieves every ip-address per user, mac-address, the user account and there computer and creates a .csv file of the result.

  1. Open PowerShell on the DC.

  2. Paste the following code in the command prompt:

PowerShell

import-module activedirectory
Get-ADComputer -Filter ëName -like ì*îë | Select-Object Name | epcsv Allcomputers.txt
gc Allcomputers.txt | % {$_ -replace ëîë , ìî} | Set-Content computers.txt
gc computers.txt | ? {test-connection $_ -quiet -Count 1 -ea 0} | % {
$Networks = gwmi Win32_NetworkAdapterConfiguration -ComputerName $_ | ? {$_.IPEnabled}
gwmi Win32_NetworkLoginProfile -ComputerName $_ | Sort -Descending LastLogon |
Select | ? {$_.LastLogon -like ì20120317*î} | % {
Foreach ($Network in $Networks) {
$IPAddress = $Network.IpAddress[0]
$MACAddress = $Network.MACAddress
}
New-Object PSObject -Property @{
ComputerName = $_.__Server
UserName = $_.Name
LastLogon = $LastLogon
IpAddress = $IPAddress
MACAddress = $MACAddress
}
} | Select IpAddress,MACAddress,UserName,ComputerName | ConvertTo-Csv | Select -Last 1 | ac CompleteList.csv
}

Filter

* Donít retrieve every pc: Domain Controllers and other servers are included as well if you filter with * only. Use the computer naming convention of your company for example: -like ìNLABC-*î to retrieve the client computers only.

Conclusion

This PowerShell command gives you approximately 90% results, run the script a couple of times and compare the list with each other. Of course there is 10% that will never be retrieved, (hardware damage and network related issues etc.).