blog community

Welcome to blog community Sign in | Join | Help
in Search

ISMOS by Gilford

Infrastructure, Systems Management, & Operating Systems information

  • Microsoft BizTalk Server Operations Guide RTW

    The availability of the Microsoft BizTalk Server Operations Guide has been announced by BizTalk Rangers and BizTalk UE.

    The 660 page guide is available on MSDN, and as a separate PDF, DOCX or CHM download.

    The guide is based on real-world experience from BizTalk Rangers, PFE and other customer engagements. This guide is intended to provide guidance around maintaining and operating BizTalk Solutions in demanding production environments. This has been a long standing request from Microsoft's customers and partners.

    The target audience is Microsoft field, partner organizations, and customers who plan, deploy, and maintain BizTalk Server installations. The guide was created from collections of checklists, best practices, and presentations to guide future BizTalk Server operations IT professionals.

    Key portions of this guide are new, while other portions consists of documentation taken from BizTalk Server 2006 R2 Help, white papers, Knowledge Base articles, and other sources. It has been carefully reviewed and vetted by experts from the community of BizTalk Server IT professionals and members of the product development team, whom we gratefully acknowledge. They believe that the information presented here will help BizTalk Server users solve, and above all, avoid many of the common problems.

    http://msdn2.microsoft.com/en-us/library/cc296643.aspx

  • No AD Integration support in Windows 2008 RC0 TSWeb

    Microsoft seems to have pulled the AD integration feature for the Remote Application list from the Windows Server 2008 RC0 Terminal Server Web interface. It was present in Beta 3 but no longer available in RC0.

    Windows Server 2008 supports application level remoting with seamless windows (as it is called in Citrix environments) for the first time. This allows you to provide users with just the window(s) for their applications on their desktop instead of presenting them with a full desktop for each server required. The list of available programs can be presented to the users through a web interface called TSWeb for the first time (not unlike the Citrix Web Interface has offered for some time now).

    In Beta 3, the list of remote applications could be populated from a selected Terminal Server's configuration, or from software advertising Group Policies within Active Directory. The latter method provided the added effect that only those applications advertised for the particular user logging on to the TSWeb interface would be shown in the list, thereby eliminating clutter and confusion as user click on a program only to get a message that they aren't authorised to use it. This is how the interface looked in Beta 3:

    TSWeb in Windows 2008 Beta 3

    In RC0 the option to populate the Web part from AD has been stripped from the configuration page, leaving only the Terminal Server option:

    TSWeb in Windows 2008 RC0

    The reasons for seemingly pulling this feature aren't clear to me, but could be related to incomplete testing or functioning of the involved components. I sincerely hope it resurfaces in the RTM version, as this feature (user/group/OU based application availability) has long been available for Citrix environments.

  • Exchange 2007 Service Pack 1 released

    Yesterday Microsoft released Exchange 2007 Service Pack 1 (SP1), which brings back the Public Folders in Outlook Web Access, Windows Server 2008 support, and better multi-tennancy stability in Hosted environments (such as our own ISHBS.com). Still missing from the Exchange SP1 is message archiving for storage management and compliance purposes.
    The Exchange Server 2007 SP1 has been designed specifically to help meet the challenges of any business and the needs of all the different groups with a stake in the messaging system. Exchange Server 2007 SP1 is a mission-critical communications tool that enables employees to be more productive and access their information anywhere and anytime while providing a messaging system that enables rich, efficient access to e-mail, calendar items, voice mail, and contacts. For the administrator, Exchange Server 2007 SP1 provides advanced protection options against e-mail security threats, such as spam and viruses, as well as the tools to help manage internal compliance and high availability needs.

    In Exchange Server 2007 SP1, several new features and improvements will extend the Anywhere Access capabilities of Exchange Server 2007 to help make employees more productive on whatever device they’re using, provide additional Operational Efficiency tools for administrators seeking a streamlined management and deployment experience, and enable advanced Built-in Protection for more robust high availability and compliance scenarios.

    Improvements in Exchange Server 2007 SP1 include:
    Anywhere Access
    • Integrated Exchange Unified Messaging functionality with Microsoft Office Communicator 2007 and Microsoft Office Communications Server 2007.
    • Outlook Web Access additions, including public folder access, S/MIME support, personal distribution lists, and mailbox rules editor.
    • Webready document viewer supports Microsoft Office 2007 documents in addition to Microsoft Office 2003 documents.
    • Extended language support in Outlook Web Access with Arabic and Korean spell checking.
    Operational Efficiency
    • Support for Windows Server 2008 deployments, including benefits in flexible clustering, advanced networking, and simplified management.
    • Additional tools in the Exchange Management Console, including public folder management and configuration options for clustering and POP/IMAP access.
    • Improvements to the Exchange Management Shell syntax and import-export PST in the move-mailbox command.
    • Wider variety of web services for application development, including public folder access, delegate management, and folder level permissions.
    Built-in Protection
    • Addition of Standby Continuous Replication (SCR) for site resilient high availability deployments.
    • Extended Exchange ActiveSync policies for mobile policy enforcement.
    • Information rights management pre-licensing by the Hub Transport role.
    • Secure Real Time Protocol (SRTP) support in the Unified Messaging role.
    • Support for IPv6 when using Windows Server 2008.
     

  • The results are (finally) in Part 2

      Microsoft Certified Professional Transcript
    Latest Activity Recorded Nov 09, 2007

    GILFORD  GRIJT

    Microsoft Certification Status

    CertificationVersionDate Achieved
    Microsoft Certified Systems EngineerMicrosoft Windows Server 2003Nov 09, 2007
    Microsoft Certified Systems AdministratorMicrosoft Windows Server 2003Feb 17, 2006
    Microsoft Certified Systems EngineerMicrosoft Windows NT 4.0Nov 27, 1998
    Microsoft Certified Professional + InternetNov 27, 1998
    Microsoft Certified ProfessionalJan 31, 1998
  • Renaming photographs from your digital camera

    I bought my first digital camera a few years back, and used the setting to create sequenced numbering of the files in the format PICTxxxx, where xxxx would increment regardless of the date. At the time I was using the following directory structure:

    DCIM
     \2006
      \200609
       \20060919
        \PICT9974.jpg
        \PICT9975.jpg 

    After about two years the counter had reached 9999 and reset itself to 0000. I decided soon after to set the camera to reset the counter on each new day, which was not a problem as a new folder was created for each day. Now I had the following situation:

    DCIM
     \2007
      \200704
       \20070407
        \PICT0001.jpg
        \PICT0002.jpg
       \20070408
        \PICT0001.jpg
        \PICT0002.jpg 

    When putting together albums and CD's I now faced a photo identifying dilemma: how could I uniquely refer to a picture in my collection? If I wanted to put the pictures from both 20070407 and 20070408 together I would need to rename them upon copying, and this wasn't always desired.

    I wanted a way to name and find each file by its unique name, not by using paths and so forth. I decided that I wanted the files to have the following naming convention:
                GG-yyyyMMdd-xxxx.*
    where GG are my initials, yyyyMMdd the day the picture was taken, and xxxx was the day counter. Using this convention I could shoot 10.000 pictures a day before needing to take further action to uniquely identify the files.

    I considered writing a VBScript to do this, but couldn't think of how to do it exactly. The renaming would have to be done based on the file's LastWriteTime property, as some of the parent directories weren't reliable sources for the yyyyMMdd part of the filename. I had sometimes added extra directories under the day level, to separate periods during a day-long wedding shoot for instance. The xxxx part could not be random or generated but had to be the same as the file originally had.

    I then turned to PowerShell, and after a bit of testing, I had come up with the following one-liner to get my files that were to be renamed listed and tested:

    Get-ChildItem -include pict*.* -Recurse |
    >> 
    foreach-object { $_.directoryname + "\" + $_.name +
    >>  " = "+ ($_.Name -replace "pict",
    >> ("GG-"+$_.lastwritetime.toString('yyyyMMdd')+"-"))}
     

    The first part (up to the | pipe sign) gets all files matching the pattern pict*.* in all underlying directories as objects, with all their properties, attributes and methods available for use in the second part. The second part takes each object, lists the path (including the current filename) where it was found, and shows how the new name will look like.
    Here I used the LastWriteTime property of my files, as I always have either my photo organizer ThumbsPlus or the exiffile tool from the EXIFUtils toolkit set the file modified time to the EXIF Date & Time Taken value from the picture.
    This way I can edit or rotate a picture and still keep the Modified date & time correct to the actual date and time the picture was taken. I then used the toString method of the LastWriteTime property to extract / format only the date in a yyyyMMdd format, ie. 20070407.
    By replacing the "pict" with "GG-20070407-" I now had GG-20070407-0001.jpg as the new filename, just as I wanted.

    To ease my checking of the list I altered it to output the list as a CSV file:
    Get-ChildItem -include pict*.* -Recurse |
    >>  foreach-object { $_.directoryname + "\" + $_.name +
    >>  ","+ ($_.Name -replace "pict",
    >> ("GG-"+$_.lastwritetime.toString('yyyyMMdd')+"-"))} > allfiles2Brenamed.csv
     

    Thorough checking revealed that some pictures had the wrong date. How was this happening? Apparently the pictures had been taken close to the midnight hour, and had a different timestamp than I expected. This was due to either the camera or the system where I first transferred the files from the card to a PC marking not only the time, but also the UTC time. With the recent change to regular (non-DST) time, the date-time properties were being adjusted on the fly by the system, and the pictures were being show to be an hour earlier on the previous day. This was only a problem with a few pictures, and once I had identified them I could easily fix them afterwards. In the future I'll have a think about how I want to fix this so my pictures / renaming code will not be affected by the timezone I happen to be in.

    Now that I was satisfied that all my own photographs were included in the selection list it was time for the actual rename. I rewrote the command to include the Rename-Item cmdlet as follows:

    Get-ChildItem -include pict*.* -Recurse |
    >>  foreach-object { rename-item $_ -newname ($_.Name -replace "pict",
    >> ("GG-"+$_.lastwritetime.toString('yyyyMMdd')+"-"))}
     

    I first tested it on a copy of a subdirectory just to be sure, and it all worked perfectly! I then proceeded to the root of my photo hierarchy, DCIM, and ran the command again. Within mere seconds, all of my photographs were renamed, including RAW and TIFF versions I had of some of them.
    To use these scripts with a different camera all that's needed is to identify the common part, like PICT in this case, or DSC or DCS in others. Instead of keeping the sequential number the actual date and time could also be used as follows:

    Get-ChildItem -include pict*.* -Recurse |
    >>  foreach-object { rename-item $_ -newname
    >> ("GG-"+$_.lastwritetime.toString('yyyyMMdd-hhmmss')}

    Now all I had to do was update the ThumbsPlus SQL database to reflect these changes prior to starting the program up, so that it would not see the files as new ones and the data in the database as belonging to orphaned (removed from the filesystem but still in the database) thumbnails and decide to clean the database up. This way all my custom userdata, galleries, and tracking info would remain intact. A few test runs and SQL scripts later I had it done and started ThumbsPlus up, and got the expected and desired results.

    Thanks PowerShell!

     

    P.S.: My camera also has the tendency to name the folders it creates by using a combination of a sequential number and the date, in the following way:

    DCIM
       \10170407
        \PICT0001.jpg
        \PICT0002.jpg
       \10270408
        \PICT0001.jpg
        \PICT0002.jpg 

    Here the first 3 numbers of the directories are sequential, and the last 5 are yMMdd. When copying to my photorepository on my PC I like to have them renamed to yyyyMMdd instead of ###yMMdd, so I used to do that manually. I now also have a PowerShell script to do this for me:

    Get-Childitem |
    >>  where {($_.attributes -like "dir*") -and ($_.name -notlike "100KM*")} |
    >>  foreach-object { rename-item $_ -newname $_.lastwritetime.toString('yyyyMMdd')}

    The Where operator allows me to only rename directories that aren't the 100KM* settings directory. Other cameras use a different name for their settings directory, so this can be changed if needed. I could have just replaced the first 3 characters with 200 instead of using the datestamp, but in about 3 years this would not work anymore, and I'm not going make the Y2K assumptions and errors all over again ;-)

Powered by Community Server, by Telligent Systems