Pages

Wednesday, January 15, 2014

New Bumper Sticker Idea

Stuck in a Server Closet
While laying in bed reading the doom and gloom of April's XP-mageddom I wanted to type out a warning to friends and family about running the ancient OS.

I came up with a saying that even impressed me after saying it

"For the love of IT, dump XP"

Didn't even realize is kinda rhymes. Now to just find some place to make the bumper sticker I'll never use.  I've got a dislike of those things unless they are in your cubicle somewhere.

Saturday, January 11, 2014

Monoprice Cables and Dell Switches - A Strange Affair

Stuck in a Server Closet
I spent most of my day today trying to replace cabling in our closet to tidy up the place. After purchasing 2 pass through patch panels to route cables from the back of the rack to the front in a neat manner I came across issues with some ports not working and coming online with my Dell switches.

All ports in the pass through jacks tested fine, cables tested fine and the switches worked after testing as well.

After 2 hours of fooling around and trying this and that I found my culprit.

The cables I ordered from Monoprice (in this case 3ft and 1ft yellow Cat6 cables) seem to have their pins clamped a bit higher than other cables I have ordered (especially in this case since I ordered blue 3ft cables in the same order and their pins are placed lower in the RJ-45 ends) and cause a loss of connectivity with my Dell switches.

I am assuming at this point that Dell switches have their "spring" pins set just a tad bit lower than normal as my Fluke tester worked just fine with said yellow cables. Looking under a microscope to compare the blue 3ft to yellow 3ft and 1ft cables I was able to confirm that in fact the pins were in fact higher on them.

What a mess, I will have to return the whole order and reorder new ones (and this time maybe from Cables 2 Go). Be on the lookout for the strangest issues, they can creep up anywhere.

Thursday, January 9, 2014

Installing .NET Framework 3.5 (3.0, 2.0) on Windows Server 2012 R2

Stuck in a Server Closet
.NET 3.5 and previous verions do not come standard on Windows Server 2012 R2 and tripped me up the first time I needed to install it for a software installation. Its easy enough to get through but I thought this would be a great quick write up in case anyone ran into issues or were curious of the process. You will need your 2012 R2 installation disk for this process.









Step one is opening the server manager








Next click on Add roles and features







Click Next








Make sure Role Based or Feature Based installation is selected and click Next







Make sure Select a server from the server pool is checked and your server is highlighted and click next (may be different for more complex installations)







Click Next








Select .Net Framework 3.5 Features and click Next






On the Confirmation page select Specify an alternate source path




On the Source Path window that pops up note the part that talks about where these source files would be found. We will need to pull them from the 2012 R2 installation media. Place it into your computer (or mount it to the server if in a virtual environment). We will go to the noted path and copy the address into the field next to the word Path:.






Open Windows Explorer and navigate to "This PC", right click on the media drive and select Open








Open the Sources folder







Open the "sxs" folder






Move your cursor to the address bar and highlight the entire path, for me it is D:\sources\sxs

Copy this to your clipboard






Paste the path into the Path: box in the Source Path window and click OK






Click Install and you are finished! If you have any issues just post up and I will try to help.

Tuesday, December 31, 2013

AutoCAD 2014 / 2013 / 2012 / 2011 Setting Default Save Format By Registry

Stuck in a Server Closet
We have come into an issue recently that new deployments of AutoCAD LT needed to be set to save as the 2007 format by default.

Unfortunately I was unable to find much information pertaining to ACAD LT for this issue, but was able to use a blog post on changing the old AutoCAD settings and used that as a spring board for solving my issue.

AutoCAD Post can be found HERE

Our versions of LT range from 2010 to 2014 and so far I have only nailed down the 2014 LT path, but will work on the others and post them as well.

I focused on mapping the following formats and their respective  hexadecimal codes in the registry:

2013 DWG = 0000003c
2010 DWG = 00000030
2007 DWG = 00000024
2004 DWG = 00000018
2000 DWG = 0000000c

For ACAD LT 2014 the path is located here:

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD LT\R20\ACADLT-D001:409\Profiles\<<Unnamed Profile>>\General

If importing into the registry here is the line for the save attribute

"DefaultFormatForSave"=dword:00000024

This one is set for 2007.

Let me know if you have any questions and ill try to help out.


------------------------------------------------

EDIT : Adding ACAD LT 2013 Path

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD LT\R18\ACADLT-B001:409\Profiles\<<Unnamed Profile>>\General

------------------------------------------------

EDIT : Adding ACAD LT 2012 Path

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD LT\R17\ACADLT-A001:409\Profiles\<<Unnamed Profile>>\General

------------------------------------------------

EDIT : Adding ACAD LT 2011 Path

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD LT\R16\ACADLT-9001:409\Profiles\<<Unnamed Profile>>\General

Saturday, November 2, 2013

Another Macros Script for saving tons of emails into a standardize format

Stuck in a Server Closet
I honestly was passed down some of the code in this script so I am not sure who to give the original credit too!

I modified it to include both emails and meeting requests and error out if neither is acceptable. Added another cleanse group, saved the file in the following format (Project# SenderName DateTimeReceived Subject.msg)

If the senders name was not available (which is the case in some situations) it pulls the last 11 characters and creates a string to save it to when referenced.

Default save folder is C:\

If anyone can find the original poster please leave a comment below!

Enjoy!



Sub MASS_SAVE()
    Dim Mitem
    Dim prompt As String
    Dim name As String
    Dim Nname As String
    Dim Exp As Outlook.Explorer
    Dim sln As Outlook.Selection
    Dim saveSubject As String
    Dim senderName As String
    Dim senderCheck As String
    Dim msg As Object
    Dim timeSent As String

    Set Exp = Application.ActiveExplorer
    Set sln = Exp.Selection
   
    If sln.count = 0 Then
        MsgBox "No objects selected."
    Else
        myPath = BrowseForFolder("C:\")
        Set Mitem = Outlook.ActiveExplorer.Selection.Item(1)
 
        Nname = InputBox("Please enter in the Project #")

        For Each Mitem In sln
     
            If TypeName(Mitem) = "ReportItem" Or TypeName(Mitem) = "MailItem" Or TypeName(Mitem) = "MeetingItem" Then
       
                saveSubject = Mitem.Subject
               
                If Nname = "" Then
                    name = Mitem.Subject
                Else
                    name = Nname
                End If
               
                ' Cleanse illegal characters from subject... :/|*?<>" etc or sharepoint wont have it!
                name = Replace(name, "<", "(")
                name = Replace(name, ">", ")")
                name = Replace(name, "&", "n")
                name = Replace(name, "%", "pct")
                name = Replace(name, """", "'")
                name = Replace(name, "´", "'")
                name = Replace(name, "`", "'")
                name = Replace(name, "{", "(")
                name = Replace(name, "[", "(")
                name = Replace(name, "]", ")")
                name = Replace(name, "}", ")")
                name = Replace(name, "  ", "_")
                name = Replace(name, "   ", "_")
                name = Replace(name, "  ", "_")
                name = Replace(name, "..", "_")
                name = Replace(name, ".", "_")
                name = Replace(name, "__", "_")
                name = Replace(name, ": ", "_")
                name = Replace(name, ":", "_")
                name = Replace(name, "/", "_")
                name = Replace(name, "\", "_")
                name = Replace(name, "*", "_")
                name = Replace(name, "?", "_")
                name = Replace(name, """", "_")
                name = Replace(name, "__", "_")
                name = Replace(name, "|", "_")
               
                saveSubject = Replace(saveSubject, "<", "(")
                saveSubject = Replace(saveSubject, ">", ")")
                saveSubject = Replace(saveSubject, "&", "n")
                saveSubject = Replace(saveSubject, "%", "pct")
                saveSubject = Replace(saveSubject, """", "'")
                saveSubject = Replace(saveSubject, "´", "'")
                saveSubject = Replace(saveSubject, "`", "'")
                saveSubject = Replace(saveSubject, "{", "(")
                saveSubject = Replace(saveSubject, "[", "(")
                saveSubject = Replace(saveSubject, "]", ")")
                saveSubject = Replace(saveSubject, "}", ")")
                saveSubject = Replace(saveSubject, "  ", "_")
                saveSubject = Replace(saveSubject, "   ", "_")
                saveSubject = Replace(saveSubject, "  ", "_")
                saveSubject = Replace(saveSubject, "..", "_")
                saveSubject = Replace(saveSubject, ".", "_")
                saveSubject = Replace(saveSubject, "__", "_")
                saveSubject = Replace(saveSubject, ": ", "_")
                saveSubject = Replace(saveSubject, ":", "_")
                saveSubject = Replace(saveSubject, "/", "_")
                saveSubject = Replace(saveSubject, "\", "_")
                saveSubject = Replace(saveSubject, "*", "_")
                saveSubject = Replace(saveSubject, "?", "_")
                saveSubject = Replace(saveSubject, """", "_")
                saveSubject = Replace(saveSubject, "__", "_")
                saveSubject = Replace(saveSubject, "|", "_")
               
                If TypeName(Mitem) = "MailItem" Then
               
                    senderCheck = "/O=EXCHANGE"
                   
                    senderName = Mitem.sender
                   
                    timeSent = Mitem.ReceivedTime
                   
                    If Left$(senderName, 11) = senderCheck Then
                   
                        senderName = Right$(Mitem.sender, 11)
                       
                    Else
                       
                        senderName = Mitem.sender
                   
                    End If
               
                ElseIf TypeName(Mitem) = "MeetingItem" Then
               
                        senderCheck = "/O=EXCHANGE"
                   
                        senderName = Mitem.senderName
                       
                        timeSent = Mitem.ReceivedTime
                   
                    If Left$(senderName, 11) = senderCheck Then
                   
                        senderName = Right$(Mitem.sender, 11)
                       
                    Else
                       
                        senderName = Mitem.senderName
                   
                    End If
               
                ElseIf TypeName(Mitem) = "ReportItem" Then
               
                        senderName = "Read Receipt"
                       
                        timeSent = Mitem.CreationTime
               
                Else
               
                    MsgBox "Unknown mail type....ERROR"
                   
                    'senderName = ""
                   
                    'MsgBox senderName, vbCritical, "Sender Name"
                   
                    'variable111 = Mitem.CreationTime
                   
                    'MsgBox variable111, vbApplicationModal, "Creation Time"
                   
                End If
               
               
                If myPath = False Then
               
                    MsgBox "No directory chosen !", vbExclamation
                   
                Else
               
                    Mitem.SaveAs myPath & "\" & "Project#" & name & " " & Left$(senderName, 20) & " " & Format(timeSent, "MM-DD-YY HHMM") & " " & Left$(saveSubject, 40) & ".msg", olMSG
               
                End If
               
            Else
           
                MsgBox "A message was not saved because it does not match an EMail format."
               
            End If
       
        Next Mitem
 
    End If
       
MsgBox "Export Complete!", vbOKOnly, "Export Status"

End Sub

Function BrowseForFolder(Optional OpenAt As Variant) As Variant
     'Function To Browse for a user selected folder.
     'If the "OpenAt" path is provided, open the browser at that directory
     'NOTE: If invalid, it will open at the Desktop level
    Dim ShellApp As Object
     'Create a file browser window at the default folder
    Set ShellApp = CreateObject("Shell.Application"). _
    BrowseForFolder(0, "Please choose a folder", 0, OpenAt)
     'Set the folder to that selected. (On error in case cancelled)
    On Error Resume Next
    BrowseForFolder = ShellApp.self.Path
    On Error GoTo 0
     'Destroy the Shell Application
    Set ShellApp = Nothing
     'Check for invalid or non-entries and send to the Invalid error
     'handler if found
     'Valid selections can begin L: (where L is a letter) or
     '\\ (as in \\servername\sharename. All others are invalid
    Select Case Mid(BrowseForFolder, 2, 1)
    Case Is = ":"
        If Left(BrowseForFolder, 1) = ":" Then GoTo Invalid
    Case Is = "\"
        If Not Left(BrowseForFolder, 1) = "\" Then GoTo Invalid
    Case Else
        GoTo Invalid
    End Select
    Exit Function
Invalid:
     'If it was determined that the selection was invalid, set to False
    BrowseForFolder = False
End Function