May 29, 2013

If your corporate network happens to have Exchange 2010, chances are you may have employees with corporate email on their mobile devices. Exchange allows you to connect various mobile devices, whether tablets or smartphones, by way of Exchange ActiveSync (EAS). These devices may be part of a BYOD policy, or they may be provided by the company itself. In either event, you've got them tied to your Exchange server and as a Server Administrator, there may be a time where you need to report on what devices are currently synced.

Thankfully, with the installation of Exchange 2010 you will have access to a myriad of administrative tools, including numerous PowerShell cmdlets that can be ran through the Exchange Management Shell. You can find a complete list of cmdlets provided with Exchange 2010 on Microsoft's Technet page. One in particular is extremely useful in the task of reporting on ActiveSync devices, Get-ActiveSyncDevice.

Running this cmdlet as-is will provide you with an abundance of data in a not-so-user-friendly manner... so what do you do? If you've ever used PowerShell before, then you've probably used pipes to send the results of one cmdlet to another. This is very useful when you need to provide "cleaner" reports that include only the data you need, organized just the way you want it.

For example, let's take the output from Get-ActiveSyncDevice and pipe it into the Select-Object cmdlet in order to list only the objects we want to report on. So now we have:

Get-ActiveSyncDevice | Select-Object DeviceModel,FriendlyName,DeviceOS,UserDisplayName

This will now limit the data we will see for each ActiveSync device, but could still use some work to make it viewable within the PowerShell terminal. Let's pipe these results into the cmdlet Format-Table in order to size the table of data to the size of the PowerShell terminal:

Get-ActiveSyncDevice | Select-Object DeviceModel,FriendlyName,DeviceOS,UserDisplayName | FT -autosize -wrap

This should be much better than the original running of Get-ActiveSyncDevice, but let's say you want to sort the resulting data alphabetically by the DeviceModel object. To do this we'll add the Sort-Object cmdlet into the mix:

Get-ActiveSyncDevice | Select-Object DeviceModel,FriendlyName,DeviceOS,UserDisplayName | Sort-Object DeviceModel | FT -autosize -wrap

Now you should have the data you need, formatted just the way you want it. The only issue, it's still only viewable from within the PowerShell terminal. What if you want all of this formatted data in an Excel spreadsheet? PowerShell once again provides a way to do this, by way of yet another cmdlet. Let's replace the Format-Table cmdlet with Export-CSV to do this:

Get-ActiveSyncDevice | Select-Object DeviceModel,FriendlyName,DeviceOS,UserDisplayName | Sort-Object DeviceModel | Export-CSV -Path C:\ActiveSync-Devices.csv -NoTypeInformation

There you go! A well-formatted Excel spreadsheet containing all of the ActiveSync devices tied to your Exchange server.

May 21, 2013

So, you've been working on a few transports within your Development system and now it's time to release them for Import. You select a transport and click to release it, only then realizing that you've selected the wrong one. You've just released a transport, or sub-transport, that wasn't ready. Maybe you still needed to add more to it, or maybe it wasn't configured correctly. Either way, an "unrelease" button could be really useful right now. What do you do?

Screenshot of a released transport and sub-transport.

Thankfully, there is a solution for this that does exactly what you need. By running a single program, you will be able to change the transport's settings so that it will be once again modifiable.

First thing's first, as you are going to be executing an SAP program you will need to run transaction SE38. From here, you will input the program RDDIT076 and execute it.

Executing RDDIT076 from SE38.

When you first run this program, it will prompt you for the Request/Task. Input the Transport Request's ID that you wish to "unrelease" and click to execute. You should now see the transport, along with any sub-transports, and their corresponding settings. Having a status of "R" indicates that the transport is currently in a released state.

Screenshot of RDDIT076 overview.

Double-clicking on one of the transports will bring up a pop-up windows displaying its current settings.

Displaying transport request settings.

In order to edit these settings, you will need to either click the Display <-> Change button, or hit F9 on your keyboard. After entering Edit Mode, change the Status of the transport to the value "D".

Screenshot of changing the transport request's status.

After saving your changes, you should now see them reflected within the RDDIT076 overview screen.

Transport Request status now Modifiable (D).

You have now successfully unreleased a released SAP Transport Request. You can now make any necessary changes to them without issue.
Subscribe to RSS Feed Follow me on Twitter!