Solved

join three command to one script

Posted on 2016-07-26
9
33 Views
1 Endorsement
Last Modified: 2016-07-26
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.
1
Comment
Question by:Andy Navi
  • 6
  • 3
9 Comments
 
LVL 68

Accepted Solution

by:
Qlemo earned 500 total points
ID: 41729258
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
 
LVL 4

Author Comment

by:Andy Navi
ID: 41729267
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
 
LVL 4

Author Comment

by:Andy Navi
ID: 41729281
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
 
LVL 68

Expert Comment

by:Qlemo
ID: 41729289
"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
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 4

Author Comment

by:Andy Navi
ID: 41729353
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
 
LVL 4

Author Closing Comment

by:Andy Navi
ID: 41729541
Thank you so much

i am so Thankful to EE to have so brilliant engineers, its worth to have a Subscription on EE
1
 
LVL 68

Expert Comment

by:Qlemo
ID: 41729722
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
 
LVL 4

Author Comment

by:Andy Navi
ID: 41729738
Got it.. Many thanksss
0
 
LVL 4

Author Comment

by:Andy Navi
ID: 41729739
Got it.. Many thanksss
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Find out how to use Active Directory data for email signature management in Microsoft Exchange and Office 365.
Scam emails are a huge burden for many businesses. Spotting one is not always easy. Follow our tips to identify if an email you receive is a scam.
In this video we show how to create an Accepted Domain in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Mail Flow >> Ac…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now