join three command to one script

I have below three syntax, that i need to put in single script.

my purpose is that, i want the the below exchange server components state will come to email, as i will put this .ps1 file in schedule task.

i am using remote powershell

=========================================
$UserName = 'domain\username'
$Password = 'secret password'
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, (ConvertTo-SecureString $Password -asPlaintext -Force)

$session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri "http://exchangecasarray.contoso.com/powershell" -Credential $Credential -Authentication Kerberos -AllowRedirection
Import-PSSession $session
Set-AdServerSettings -ViewEntireForest $true

===================================================================

second smtp setting

$smtpsettings = @{
    To =  "administrator@exchangeserverpro.net"
    From = "exchangeserver@exchangeserverpro.net"
    Subject = "$reportemailsubject - $now"
    SmtpServer = "smtp.exchangeserverpro.net"
    }

==================================================

output in email

Get-ExchangeServer | Get-ServerComponentState | ft



Please suggest, my purpose is to set this whole joined script in task scheudler and result will come on email.
LVL 5
Addy NadiaExpertAsked:
Who is Participating?
 
QlemoConnect With a Mentor Batchelor, Developer and EE Topic AdvisorCommented:
It's almost everything there already:
UserName = 'domain\username'
$Password = 'secret password'

$smtpsettings = @{
    To =  "administrator@exchangeserverpro.net"
    From = "exchangeserver@exchangeserverpro.net"
    Subject = "$reportemailsubject - $now"
    SmtpServer = "smtp.exchangeserverpro.net"
    }

# -----------

$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, (ConvertTo-SecureString $Password -asPlaintext -Force)

$session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri "http://exchangecasarray.contoso.com/powershell" -Credential $Credential -Authentication Kerberos -AllowRedirection
Import-PSSession $session
Set-AdServerSettings -ViewEntireForest $true

# Send as plain text mail
Send-MailMessage @smtpsettings -Body (Get-ExchangeServer | Get-ServerComponentState | ft -a Name, Component, State | Out-String)

# or send as HTML mail.
# Send-MailMessage @smtpsettings -BodyAsHTML -Body (Get-ExchangeServer | Get-ServerComponentState |  select Name, Component, State | convertTo-HTML)

Open in new window

I've provided a choice between HTML and plain text body, with the plain text being active.
1
 
Addy NadiaExpertAuthor Commented:
so in this script, can i normally test it while running it in powershell?

and also i need to jst change username and password syntax above

You are Really a Champ !!

Thanks,
Andy
1
 
Addy NadiaExpertAuthor Commented:
Awsum.. i tried
 it runs perfectly fine.. thank you so much

but outlook comes like below in email, can this be adjusted correctly, as seen Name and component are together

Name Component                  State
---- ---------                  -----
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
     ServerWideOffline          Active
     HubTransport               Active
     FrontendTransport          Active
     Monitoring                 Active
     RecoveryActionsEnabled     Active
     AutoDiscoverProxy          Active
     ActiveSyncProxy            Active
     EcpProxy                   Active
     EwsProxy                   Active
     ImapProxy                  Active
     OabProxy                   Active
     OwaProxy                   Active
     PopProxy                   Active
     PushNotificationsProxy     Active
     RpsProxy                   Active
     RwsProxy                   Active
     RpcProxy                   Active
     UMCallRouter               Active
     XropProxy                  Active
     HttpProxyAvailabilityGroup Active
     ForwardSyncDaemon          Active
     ProvisioningRps            Active
     MapiProxy                  Active
     EdgeTransport              Active
     HighAvailability           Active
     SharedCache                Active
1
Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
"Name and component are together" - not correct, the name is empty. You probably have a different Exchange release than I. But for better formatting, try the HTML mail version, and replace "Name" with "Identity":
# Send as plain text mail
# Send-MailMessage @smtpsettings -Body (Get-ExchangeServer | Get-ServerComponentState | ft -a Identity, Component, State | Out-String)

# or send as HTML mail.
Send-MailMessage @smtpsettings -BodyAsHTML -Body (Get-ExchangeServer | Get-ServerComponentState |  select Identity, Component, State | convertTo-HTML)

Open in new window

0
 
Addy NadiaExpertAuthor Commented:
i think you are not getting my query, i mean output that coming in email
is not in format

the data going here and dere like below

means if column status the below data not come below to status, it is not in format.
i mean exact like below it need to be

State
Active
Active
Active
0
 
Addy NadiaExpertAuthor Commented:
Thank you so much

i am so Thankful to EE to have so brilliant engineers, its worth to have a Subscription on EE
1
 
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
With the latest change you get your email in HTML format. Maybe your mail client does not accept/display HTML mail - if this is the case, there is nothing we can do. For plain text to be properly formatted you need to have a mono-spaced (non-proportional) font in your email client.
0
 
Addy NadiaExpertAuthor Commented:
Got it.. Many thanksss
0
 
Addy NadiaExpertAuthor Commented:
Got it.. Many thanksss
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.