Server 2012 R2 Shadow

List connected users and session ID:

From command prompt qwinsta.exe

 

Shadow user:

mstsc /shadow:ID

Shadow user with control:

mstsc /shadow:ID /control

Shadow user with control with no user prompt:

mstsc /shadow:ID /control /noconsentprompt

Grant a non administrator group rights to shadow a user:

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName =”RDP-Tcp”) CALL AddAccount “DOMAIN\GROUPNAME”,2

 

 

Posted in Uncategorized | Leave a comment

Remote Desktop listener certificate configurations in Windows Server 2012 R2 and Windows Server 2012

https://support.microsoft.com/en-us/kb/3042780

Posted in Uncategorized | Leave a comment

Exchange Mailbox Permissions Via Powershell

List current permissions on Calendar Folder:
Get-MailboxFolderPermission -identity “MAILBOX:\calendar”

Update permissions on Calendar Folder where user is already listed:
Set-MailboxFolderPermission -identity “MAILBOX:\calendar” -user USER -accessrights reviewer

Add a user to a calendar folder where they are not listed already:
add-MailboxFolderPermission -identity “MAILBOX:\calendar” -user USER -accessrights reviewer

Permission Level Mailbox Folder Calendar Folder
None Yes Yes
Owner Yes Yes
PublishingEditor Yes Yes
Editor Yes Yes
PublishingAuthor Yes Yes
Author Yes Yes
NoneditingAuthor Yes Yes
Reviewer Yes Yes
Contributor Yes Yes
Custom Yes Yes
FreeBusyTimeOnly No Yes
FreeBusyTimeAndSubjectAndLocation No Yes
Posted in Exchange | Leave a comment

Update ManagedBy setting for all Distribution Lists Starting with Matching Criteria

Say you have a department with 50 or so distribution lists and they want to have a user or group of users manage all of the lists, the following command would be used.

This command will list all distribution lists starting with Muni and update the ManagedBy setting accordingly.

Get-DistributionGroup | where{$_.Name -like’muni*’} |Set-Distributiongroup –managedby user1,user2,user3

NOTE: This command will overwrite any existing settings

 

Posted in Exchange | Leave a comment

Moving arbitration mailboxes in child domain

Set-ADServerSettings -ViewEntireForest:$true

Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase DATABASENAME

Posted in Uncategorized | Leave a comment

Enable Mailbox access auditing for members of a distribution list

Get-DistributionGroupMember “EXECUTIVES” | set-mailbox -auditenabled $true

Posted in Uncategorized | Leave a comment

Remove message from user mailbox

Email sent to individual mailbox:

search-Mailbox -Identity “USER MAILBOX” -SearchQuery Subject:”SUBJECT” -DeleteContent

 

Email sent to distribution list:

Get-DistributionGroupMember “DISTRIBUTIONLISTNAME” | search-Mailbox -SearchQuery Subject:”SUBJECT” -DeleteContent

 

Email sent to a large number of users exported to a text file (one address per line):

Get-Content c:\Temp\FILENAME.txt | search-Mailbox -SearchQuery Subject:”SUBJECT” –DeleteContent

 

Posted in Exchange | Leave a comment

Message Log Searching Exchange 2013

get-messagetrackinglog -ResultSize Unlimited -Start “July 20 2015” | select-object eventid,timestamp,messageid,sender,recipients,messagesubject | out-gridview

Posted in Uncategorized | Tagged | Leave a comment

Users cannot view free/busy accross servers in Exchange 2013

Symptoms:

Users unable to view free/busy of other users on different servers

Unable to access shared calendars and mailboxes

Issue looks like a problem with Autodiscover “Unable to find a Client Access server that can serve a request for an intraforest mailbox ”

MCA Test Result
Free/Busy test failed

Performing Free/Busy Lookup

Free/Busy Lookup failed.

Additional Details

Additional Details: Free/Busy Lookup failed with exception:
Unable to find a Client Access server that can serve a request for an intraforest mailbox <Medium Conference Room>SMTP:MAILBOX@ADDRESS.COM., inner exception: Microsoft.Exchange.Data.ApplicationLogic.VDirConfigurationMissingException: Could not locate Client Access Virtual Directory object with InternalUrl stamped for service. Last server checked: SERVER1.
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.GlobalServiceUrls.DiscoverUrlsIfNeeded()
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.GlobalServiceUrls.GetInternalUrl[Service](String serverFqdn)
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.HttpProxyBackEndHelper.GetBackEndServiceUrlByServer[ServiceType](BackEndServer backEndServer)
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.BackEndLocator.CallWithExceptionHandling[T](Func`1 actualCall)
at Microsoft.Exchange.InfoWorker.Common.Availability.QueryGenerator.HandleIntraForestMailbox(RecipientData recipientData)

Elapsed Milliseconds: 232

Performing Free/Busy Lookup

Free/Busy Lookup failed.

Additional Details

Additional Details: Free/Busy Lookup failed with exception:
Unable to find a Client Access server that can serve a request for an intraforest mailbox <Medium Conference Room>SMTP:MAILBOX@ADDRESS.COM., inner exception: Microsoft.Exchange.Data.ApplicationLogic.VDirConfigurationMissingException: Could not locate Client Access Virtual Directory object with InternalUrl stamped for service. Last server checked: SERVER1.
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.GlobalServiceUrls.DiscoverUrlsIfNeeded()
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.GlobalServiceUrls.GetInternalUrl[Service](String serverFqdn)
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.HttpProxyBackEndHelper.GetBackEndServiceUrlByServer[ServiceType](BackEndServer backEndServer)
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.BackEndLocator.CallWithExceptionHandling[T](Func`1 actualCall)
at Microsoft.Exchange.InfoWorker.Common.Availability.QueryGenerator.HandleIntraForestMailbox(RecipientData recipientData)

Elapsed Milliseconds: 232

Outlook Debugging log

</FreeBusyView></FreeBusyResponse><FreeBusyResponse><ResponseMessage ResponseClass=”Success”><ResponseCode>NoError</ResponseCode></ResponseMessage><FreeBusyView><FreeBusyViewType xmlns=”http://schemas.microsoft.com/exchange/services/2006/types”>FreeBusy</FreeBusyViewType></FreeBusyView></FreeBusyResponse><FreeBusyResponse><ResponseMessage ResponseClass=”Error”><MessageText>Unable to find a Client Access server that can serve a request for an intraforest mailbox &lt;Grace Whitlow-Jenkins&gt;SMTP:USER@ADDRESS.COM., inner exception: Microsoft.Exchange.Data.ApplicationLogic.VDirConfigurationMissingException: Could not locate Client Access Virtual Directory object with InternalUrl stamped for  service. Last server checked: SERVER1.
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.GlobalServiceUrls.DiscoverUrlsIfNeeded()
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.GlobalServiceUrls.GetInternalUrl[Service](String serverFqdn)
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.HttpProxyBackEndHelper.GetBackEndServiceUrlByServer[ServiceType](BackEndServer backEndServer)
at Microsoft.Exchange.Data.ApplicationLogic.Cafe.BackEndLocator.CallWithExceptionHandling[T](Func`1 actualCall)
at Microsoft.Exchange.InfoWorker.Common.Availability.QueryGenerator.HandleIntraForestMailbox(RecipientData recipientData)</MessageText><ResponseCode>ErrorServiceDiscoveryFailed</ResponseCode><DescriptiveLinkKey>0</DescriptiveLinkKey><MessageXml><ExceptionType xmlns=”http://schemas.microsoft.com/exchange/services/2006/errors”>ServiceDiscoveryFailedException</ExceptionType><ExceptionCode xmlns=”http://schemas.microsoft.com/exchange/services/2006/errors”>5021</ExceptionCode><ExceptionMessage xmlns=”http://schemas.microsoft.com/exchange/services/2006/errors”>Unable to find a Client Access server that can serve a request for an intraforest mailbox &lt;Grace Whitlow-Jenkins&gt;SMTP:USER@ADDRESS.COM., inner exception: Could not locate Client Access Virtual Directory object with InternalUrl stamped for  service. Last server checked: SERVER1.</ExceptionMessage><ExceptionServerName xmlns=”http://schemas.microsoft.com/exchange/services/2006/errors”>SERVER2</ExceptionServerName></MessageXml></ResponseMessage><FreeBusyView><FreeBusyViewType

Cause:

After five hours and two technicians on the phone with Microsoft, it was determined for our environment the Internal ActiveSync URL was un-configured and that was causing the client not to be able to locate free/busy resources. This requirement was a surprise to myself and the tech working the case.

Posted in Exchange | Leave a comment

Move Equipment and room mailboxes to Exchange2013

get-mailbox -recipienttypedetails EquipmentMailbox -database “DATABASE NAME” | new-moverequest -targetdatabase TARGETDBNAME

Room mailbox type detail : roommailbox

Posted in Exchange | Leave a comment