Friday, March 2, 2012

To Hide Windows 7 Wireless Network Security Key


The way is to find the key in the registry where you can unlock the viewing of the WIFI Key.

For that, you have to find a Key where the value is "CElevateWlanUi"

In my case, it was in HKEY_CLASSES_ROOT\Appid\{86F80216-5DD6-4F43-953B-35EF40A35AEE}.
Under this key you have 3 values :
The first one (default) with the value "CElevateWlanUi"
The second one AccessPermission of type Reg_Binary with a binary value (does'nt matter to understand what it means)
The third one is called DllSurrogate with a null value.

The way I solved the problem is to setup the authorizations of the main Key {86F80216-5DD6-4F43-953B-35EF40A35AEE} by a right-click, then "autorizations".
After you have to take possession of this key.
I setup the owner as our domain administrator.
For that click on the the button "Advanced" then on the tab "owner" and replace TrustedInstaller by the administrator of my domain.
Then, I came back to the main panel of authorizations of the main key.
I deleted the entry LAP505\administrators and the entry LAP505\domain users, and added the entry for my domain administrator with all rights. (LAP505 is the computer name)
I applied all the modifications.
I repeated the operation for the second occurence of the key :
HKEY_LOCAL_MACHINE\Software\classid\Appid\{86F80216-5DD6-4F43-953B-35EF40A35AEE}

And when I logged on with a user with local admin privileges, I could connect to WIFI network, I could access to the network center but I could'nt unmark the "Hide caracters". It works!

Second point : As my users want also to connect their laptop at home on their box, I checked the possibility to add a WIFI connection and it worked also! The only restriction is that they can't see the key once it is entered (for modification, they have to delete the connection a re-create it.
I hope it will help you!"

Wednesday, February 29, 2012

To unlock Excel worksheet or workbook protection


You can download the workbook allinternalpasswords.xls if you don't want to cut and paste the macro below.

Option 1. Open allinternalpasswords.xls. And then open the excel protected file. Press ALT + F11 to open VBA, run the macro. then save.

Option 2. Open protected file, press ALT + F11 to open VBA. Click Insert >> Module then copy and paste the script below  and then run the macro



Option Explicit


Public Sub AllInternalPasswords()
    ' Breaks worksheet and workbook structure passwords. Bob McCormick
    '  probably originator of base code algorithm modified for coverage
    '  of workbook structure / windows passwords and for multiple passwords
    '
    ' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
    ' Modified 2003-Apr-04 by JEM: All msgs to constants, and
    '   eliminate one Exit Sub (Version 1.1.1)
    ' Reveals hashed passwords NOT original passwords
    Const DBLSPACE As String = vbNewLine & vbNewLine
    Const AUTHORS As String = DBLSPACE & vbNewLine & _
            "Adapted from Bob McCormick base code by " & _
            "Norman Harker and JE McGimpsey"
    Const HEADER As String = "AllInternalPasswords User Message"
    Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
    Const REPBACK As String = DBLSPACE & "Please report failure " & _
            "to the microsoft.public.excel.programming newsgroup."
    Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _
            "now be free of all password protection, so make sure you:" & _
            DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _
            DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _
            DBLSPACE & "Also, remember that the password was " & _
            "put there for a reason. Don't stuff up crucial formulas " & _
            "or data." & DBLSPACE & "Access and use of some data " & _
            "may be an offense. If in doubt, don't."
    Const MSGNOPWORDS1 As String = "There were no passwords on " & _
            "sheets, or workbook structure or windows." & AUTHORS & VERSION
    Const MSGNOPWORDS2 As String = "There was no protection to " & _
            "workbook structure or windows." & DBLSPACE & _
            "Proceeding to unprotect sheets." & AUTHORS & VERSION
    Const MSGTAKETIME As String = "After pressing OK button this " & _
            "will take some time." & DBLSPACE & "Amount of time " & _
            "depends on how many different passwords, the " & _
            "passwords, and your computer's specification." & DBLSPACE & _
            "Just be patient! Make me a coffee!" & AUTHORS & VERSION
    Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _
            "Structure or Windows Password set." & DBLSPACE & _
            "The password found was: " & DBLSPACE & "$$" & DBLSPACE & _
            "Note it down for potential future use in other workbooks by " & _
            "the same person who set this password." & DBLSPACE & _
            "Now to check and clear other passwords." & AUTHORS & VERSION
    Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _
            "password set." & DBLSPACE & "The password found was: " & _
            DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _
            "future use in other workbooks by same person who " & _
            "set this password." & DBLSPACE & "Now to check and clear " & _
            "other passwords." & AUTHORS & VERSION
    Const MSGONLYONE As String = "Only structure / windows " & _
             "protected with the password that was just found." & _
             ALLCLEAR & AUTHORS & VERSION & REPBACK
    Dim w1 As Worksheet, w2 As Worksheet
    Dim i As Integer, j As Integer, k As Integer, l As Integer
    Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
    Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
    Dim PWord1 As String
    Dim ShTag As Boolean, WinTag As Boolean
    
    Application.ScreenUpdating = False
    With ActiveWorkbook
        WinTag = .ProtectStructure Or .ProtectWindows
    End With
    ShTag = False
    For Each w1 In Worksheets
            ShTag = ShTag Or w1.ProtectContents
    Next w1
    If Not ShTag And Not WinTag Then
        MsgBox MSGNOPWORDS1, vbInformation, HEADER
        Exit Sub
    End If
    MsgBox MSGTAKETIME, vbInformation, HEADER
    If Not WinTag Then
        MsgBox MSGNOPWORDS2, vbInformation, HEADER
    Else
      On Error Resume Next
      Do      'dummy do loop
        For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
        For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
        For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
        For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
        With ActiveWorkbook
          .Unprotect Chr(i) & Chr(j) & Chr(k) & _
             Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
             Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
          If .ProtectStructure = False And _
          .ProtectWindows = False Then
              PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
                Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
                Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
              MsgBox Application.Substitute(MSGPWORDFOUND1, _
                    "$$", PWord1), vbInformation, HEADER
              Exit Do  'Bypass all for...nexts
          End If
        End With
        Next: Next: Next: Next: Next: Next
        Next: Next: Next: Next: Next: Next
      Loop Until True
      On Error GoTo 0
    End If
    If WinTag And Not ShTag Then
      MsgBox MSGONLYONE, vbInformation, HEADER
      Exit Sub
    End If
    On Error Resume Next
    For Each w1 In Worksheets
      'Attempt clearance with PWord1
      w1.Unprotect PWord1
    Next w1
    On Error GoTo 0
    ShTag = False
    For Each w1 In Worksheets
      'Checks for all clear ShTag triggered to 1 if not.
      ShTag = ShTag Or w1.ProtectContents
    Next w1
    If ShTag Then
        For Each w1 In Worksheets
          With w1
            If .ProtectContents Then
              On Error Resume Next
              Do      'Dummy do loop
                For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
                For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
                For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
                For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
                .Unprotect Chr(i) & Chr(j) & Chr(k) & _
                  Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
                  Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                If Not .ProtectContents Then
                  PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
                    Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
                    Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
                  MsgBox Application.Substitute(MSGPWORDFOUND2, _
                        "$$", PWord1), vbInformation, HEADER
                  'leverage finding Pword by trying on other sheets
                  For Each w2 In Worksheets
                    w2.Unprotect PWord1
                  Next w2
                  Exit Do  'Bypass all for...nexts
                End If
                Next: Next: Next: Next: Next: Next
                Next: Next: Next: Next: Next: Next
              Loop Until True
              On Error GoTo 0
            End If
          End With
        Next w1
    End If
    MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
End Sub







Automatic Save A Backup Copy of A Workbook in Excel 2007


If the Excel file always save a backup file:
1.       Click FILE à Save As à Tools (drop down) à General Options




2.       Unchecked  “Always create backup”. Click OK

Friday, February 17, 2012

Configure Automatic Replies for a user in Exchange 2010


A user is out of office for some reason – on vacation, sick, on a sabbatical or extended leave of absence, or traveling to a remote location on business, and forgets to set an automatic reply, also known as an Out Of Office message or OOF in Exchange/Outlook lingo. As an Exchange administrator, you get an email from the user’s manager asking you to configure an OOF for the user.
In previous versions of Exchange, you would need to access the user’s mailbox to be able to do this. Out of Office messages are stored in the Non-IPM tree of a user’s mailbox along with other metadata. Without access to the mailbox, you can’t modify data in it. Two ways for an admin to access a mailbox:
  1. Grant yourself Full Access mailbox permission to the user’s mailbox.
  2. Change the user’s password and log in as user.
It is safe to say that either of these options is potentially dangerous. The first option grants the administrator access to all of the data in the user’s mailbox. The second option grants the administrator access to all of the data that the user account can access within your company and locks the user out of his own user account (as the user in question no longer knows the account password).
In Exchange 2010, you can configure auto-reply options for your users without using either of the above options. You must be a member of a role group that has either the Mail Recipients or User Options management roles.

Configure auto-reply options using the Exchange Control Panel

To configure an auto-reply using the ECP: (eg. https://webmail.domain.com/ecp)
  1. From Mail > Options, select Another User (default My Organization).

    Figure 1: Select Another User
  2. Select the user you want to configure the auto-reply for
  3. In the new window, ensure the user's name is displayed in the alert message, and then click Tell people you’re on vacation

    Figure 2: When managing another user in the ECP, an alert near the top of the page displays the name of the user you're managing
  4. From the Automatic Replies tab, configure the auto-reply options for the user (see screenshot).
In Exchange 2007, we introduced the ability to create different Out of Office messages for external and internal recipients. You can also disable or enable Out of Office messages on a per-user basis and on a per-remote domain basis in Remote Domain settings. For details, see previous post Exchange Server 2007 Out of Office (OOF).

Configure auto-reply options using the Shell

This command schedules internal and external auto-replies from 9/8/2011 to 9/15/2011:
Set-MailboxAutoReplyConfiguration bsuneja@e14labs.com –AutoReplyState Scheduled –StartTime “9/8/2011” –EndTime “9/15/2011” –ExternalMessage “External OOF message here” –InternalMessage “Internal OOF message here”
To configure auto-replies to be sent until they're disabled (i.e. without a schedule), set the AutoReplyStateparameter to Enabled and do not specify the StarTime and EndTime parameters. For detailed syntax and parameter descriptions, see Set-MailboxAutoReplyConfiguration.
This command retrieves auto-reply settings for a mailbox.
Get-MailboxAutoReplyConfiguration bsuneja@e14labs.com
This command disables auto-reply configured for a mailbox:
Set-MailboxAutoReplyConfiguration bsuneja@e14labs.com –AutoReplyState Disabled –ExternalMessage $null –InternalMessage $null
Another way:
View the current auto reply settings for a mailbox:Here there has been no message set.
Get-MailboxAutoReplyConfiguration "andy barnes"

RunspaceId       : b1531019-f59a-45aa-9176-3033ca169444
AutoReplyState   : Disabled
EndTime          : 03/08/2010 17:00:00
ExternalAudience : All
ExternalMessage  :
InternalMessage  :
StartTime        : 02/08/2010 17:00:00
MailboxOwnerId   : domain.local/New York/Andy Barnes
Identity         : domain.local/New York/Andy Barnes
IsValid          : True 
 

Set the auto reply settings for a mailbox:With seperate internal and external messages
Set-MailboxAutoReplyConfiguration -identity "andy barnes" -AutoReplyState enabled -EndTime 03/08/2010 -InternalMessage "I am currently out of the office on until Tuesday 4rd August due to 
partying and so forth. Please could all enquiries be directed to ext 123 and emails be sent tosomewhere@domain.local" -ExternalMessage "I am currently out of the office on until Tuesday 4rd August. Please could all enquiries be directed to ext 123 and emails be sent to somewhere@domain.local"

 

View the current auto reply settings for a mailbox:Here you can see the message we have just set. Notice the internal message is different to the external message so that you can include further details to colleagues, that you might not want external contacts to know.
Get-MailboxAutoReplyConfiguration "andy barnes"

RunspaceId       : b1531019-f59a-45aa-9176-3033ca169444
AutoReplyState   : Enabled
EndTime          : 03/08/2010 16:00:00
ExternalAudience : All
ExternalMessage  :
                  
                   I am currently out of the office on until Tuesday 4rd August. Please could all enquiries be directed to ext 123 and emails be sent to somewhere@domain.local
                  
 
InternalMessage  :
                  
                   I am currently out of the office on until Tuesday 4rd August due to partying and so forth. Please could all enquiries be directed to ext 123 and emails be sent to somewhere@domain.local
                  
 
StartTime        : 02/08/2010 16:00:00
MailboxOwnerId   : domain.local/New York/Andy Barnes
Identity         : domain.local/New York/Andy Barnes
IsValid          : True


Disable Out of Office/Auto Reply:
Set-MailboxAutoReplyConfiguration "andy barnes" -AutoReplyState disabled


Disable Out of Office/Auto Reply and clear the Internal/External message:
Set-MailboxAutoReplyConfiguration -identity "andy barnes" -AutoReplyState disabled -InternalMessage "" -ExternalMessage ""

Thursday, January 12, 2012

Use Outlook Anywhere to connect to your Exchange server without VPN


This feature requires you to use a Microsoft Exchange Server 2003 or Exchange Server 2007 account. Most home and personal accounts do not use Microsoft Exchange. For more information about Microsoft Exchange accounts and how to determine which version of Exchange your account connects to, see the links in the See Also section.
In a local area network (LAN) environment, Microsoft Outlook communicates with Exchange by using remote procedure call (RPC) with Transmission Control Protocol/Internet Protocol (TCP/IP). This method provides quick and efficient access in a corporate network. However, access to Exchange when you are outside of your organization's firewall, such as when you are at home or traveling, usually requires a virtual private network (VPN) connection to the organization's network. A VPN provides you with a connection within an organization's network and within its firewall. A VPN also enables access to more network services than those required for just e-mail access.
Connecting to Microsoft Exchange Server computer
For remote connections, Outlook offers Outlook Anywhere, an alternative to VPN connections that allows you to use Outlook just as you normally do at your organization, without the need for any special connections or hardware, such as smart cards and security tokens. Outlook can connect to Exchange through the Internet by using remote procedure call (RPC) over HTTP. The Outlook Anywhere feature allows you to access your Exchange account remotely from the Internet when you are working outside your organization's firewall.

System requirements

There are several minimum requirements for using Outlook Anywhere. If your computer and Exchange do not meet all requirements for this feature, these options will not be available. The requirements include:
  • Your computer must have Microsoft Windows XP Service Pack 2 or a later service pack.
  • Your account be hosted on Microsoft Exchange Server 2003 or Microsoft Exchange Server 2007 running on Microsoft Windows Server 2003.
  • Your Exchange administrator must configure the server to permit connections via HTTP. For more information about configuring this feature, see the Microsoft Office Resource Kit and the Microsoft Exchange documentation.

Enable Outlook Anywhere in Outlook

Your Exchange administrator can automatically configure all copies of Outlook in your organization or provide a special executable script file that enables Outlook Anywhere. You can also manually configure Outlook Anywhere if the system requirements are met and you have the correct URL and security information from your Exchange administrator.
  1. On the Tools menu, click Account Settings, select the Exchange account, and then click Change.
  2. Click More Settings, and then click the Connection tab.
  3. Under Outlook Anywhere, select the Connect to Microsoft Exchange using HTTP check box.
Connection tab
 Note   If the Outlook Anywhere section is not available, your computer is probably not running Windows XP Service Pack 2 or a later service pack.
  1. To specify a proxy server, click Exchange Proxy Settings.

Connection settings
Callout 1 Type the URL provided by your Exchange administrator.
Callout 2 If your Exchange administrator tells you to use a Secure Sockets Layer (SSL) connection, select the Connect using SSL only check box.
Callout 3 If your Exchange administrator instructs you to do so, select the Only connect to proxy servers that have this principal name in their certificate check box, and then type msstd: followed by the URL provided by the administrator.

  1. Under Proxy authentication settings, click Basic Authentication or NTLM Authentication as instructed by your Exchange administrator.
Proxy authentication settings
 Note   If you click Basic Authentication or NTLM Authentication and an LM Compatibility Level of less than 2, you will be prompted for a password each time a connection is made to Exchange. With Basic Authentication, the password is sent in clear text. For increased security, we recommend that you select the NTLM Authentication and Connect using SSL only options.

Wednesday, December 28, 2011

How to logoff remote desktop sessions via command line tools?


Query the Remote Server for Current Terminal Sessions

To query and list the sessions on the remote session, you could use QUser.exe or QWinsta

1. QUser

QUser command comes with all the latest Windows clients and servers. This will list the sessions of the remote server (or local machine).
NOTE: if you are using Windows XP, you need to add this location into your System path: C:WindowsSystem32DLLCache. To do this, in command prompt, type the following.
SET PATH = %PATH%;C:WindowsSystem32DLLCache;
QUser help shows,
C:Anand>QUser /?
Display information about users logged on to the system.

QUERY USER [username | sessionname | sessionid] [/SERVER:servername]
  username            Identifies the username.
  sessionname         Identifies the session named sessionname.
  sessionid           Identifies the session with ID sessionid.
  /SERVER:servername  The server to be queried (default is current).


E.g.,

C:>quser /server:MyCitrixSVR
USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
johndoe               ica-tcp#966        10  Active          7  7/31/2008 3:04 PM
averagejoe            ica-tcp#969         1  Active          9  7/31/2008 3:30 PM
familyman             ica-tcp#984         5  Active       1:06  7/31/2008 4:33 PM
normaldude            ica-tcp#987         2  Active          4  7/31/2008 6:20 PM
 

2. QWinsta

QWinsta is little different and better. It has more features and options. It comes with all flavors of Windows.  QWinsta command line help displays as,
C:>qwinsta /?
Display information about Terminal Sessions.

QUERY SESSION [sessionname | username | sessionid]
              [/SERVER:servername] [/MODE] [/FLOW] [/CONNECT] [/COUNTER]

  sessionname         Identifies the session named sessionname.
  username            Identifies the session with user username.
  sessionid           Identifies the session with ID sessionid.
  /SERVER:servername  The server to be queried (default is current).
  /MODE               Display current line settings.
  /FLOW               Display current flow control settings.
  /CONNECT            Display current connect settings.
  /COUNTER            Display current Terminal Services counters information.


E.g.,
C:>qwinsta /server:citrixserver
SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
                                             0  Disc    rdpwd
ica-tcp                                 65536  Listen  wdica
rdp-tcp                                 65537  Listen  rdpwd
console                                    16  Conn    wdcon
ica-tcp#966       johndoe                  10  Active  wdica
ica-tcp#969       apple                     1  Active  wdica
ica-tcp#984       averagejoe                5  Active  wdica
ica-tcp#987       familyman                 2  Active  wdica
ica-tcp#989       whoisme                   3  Active  wdica

You are welcome to try the other options QWinsta provides.

Logoff the Remote Sessions

To Log off the terminal session of the remote server, you can use any one of two command line tools. One of LOGOFF and another one is RWINSTA. Before you log off the remote session, you should know the "Session ID" which you get it from "QUSER" OR "QWINSTA" commands as above stated.

1. Logoff

Logoff command kicks off (logging off) the specified remote session. Log off help shows,
C:>logoff /?
Terminates a session.

LOGOFF [sessionname | sessionid] [/SERVER:servername] [/V]
  sessionname         The name of the session.
  sessionid           The ID of the session.
  /SERVER:servername  Specifies the Terminal server containing the user
                      session to log off (default is current).
  /V                  Displays information about the actions performed.


E.g.,
C:>logoff /server:infra-apps 1 /v
Logging off session ID 1

2. RWinsta

RWinsta has same parameters and does same thing as log off command. It simply means Reset WINdows STAtion. The help goes as,

C:>RWinsta /?
Reset the session subsytem hardware and software to known initial values.

RESET SESSION {sessionname | sessionid} [/SERVER:servername] [/V]
  sessionname         Identifies the session with name sessionname.
  sessionid           Identifies the session with ID sessionid.
  /SERVER:servername  The server containing the session (default is current).
  /V                  Display additional information.

E.g.,

C:>RWinsta /Server:MyWinServer 1
Note: RWinsta command does not return anything.
Happy Re-setting the remote sessions (Hey, stop cursing your co-workers who didn’t log off their sessions).
Keywords: Reset remote session, Remote Desktop Session

Tuesday, December 27, 2011

Microsoft Word: “This modification is not allowed because the selection is locked.”


If you’re getting a message at the bottom of Word 2007, Word 2010, or other products in the Office suite whenever you try to change the document saying “This modifications is not allowed because the selection is locked.”, this article should answer your question ‘why’ and tell you how to make your document editable again.
wordmodification
There are four possible causes to this problem:
  1. The document is marked as final.
  2. The document is protected.
  3. You are using a trial of Office 2007.
  4. Office 2007 has not yet been activated.

Document is Marked as Final

You will also be unable to paste into the document. If you hover over the Paste button under the Home tab, you’ll get this error message: “This command is currently disabled. This command is not available because the document is marked as final.”
wordmodification1_2
The rest of that error message also points us in the right direction.
Click on the Office button (the circle with the office logo on it in the top-left corner) and go down to the Prepare sub-menu. In this sub-menu, you’ll see an icon next to ‘Mark as Final’ highlighted in orange. This means that it is enabled and the document is “finalized.” It won’t allow any changes to the document. It would be best practice to mark your document as final before you send it off to others for professional evaluation. This also makes the red (spelling) and green (grammar) squiggles under words go away as well as any marked changes throughout the document.
wordmodification2
Besides the ‘Mark as Final’ icon being highlighted in the Prepare sub-menu you will also notice a small version of the same icon at the bottom of Word 2007 in the status bar.
wordmodification2_2
In order to make changes, the document just needs to be “un-finalized.” Go back to the Office button -> Prepare menu and click “Mark as Final” to toggle it off. After that, the icon will now appear unhighlighted and the icon will be gone from the status bar.
wordmodification3

Document is Protected

If you are still not able to edit the document, it may be protected. Switch to the Review tab and then hit the Protect Document button to bring up a small menu.
wordmodification4
From that menu, choose Restrict Formatting and Editing.
wordmodification5
Next to the document, a little window should pop up. If at the bottom, you have a Stop Protection button, click that. If you don’t see that button but instead see a ‘Start protection‘ button, you can close this little window. This setting is not the one locking your document. You may have to enter a password in order to modify the document. You’ll need to know the password in order to stop this protection.
wordmodification6

Your trial of Office 2007 has expired.

If you’re using Office 2007 that came with your computer, likely it was only a trial and has expired. Try opening your document in the free Open Office or purchase a full version of Microsoft Office 2007. “If you have the Office Home and Student 2007 Trial preloaded on your computer, you can purchase the disc version and use the product-key to unlock and activate the preloaded trial.”