Archive

Archive for the ‘Useful Tools’ Category

Script to Install Multiple Windows Updates or Hotfixes

August 8, 2012 6 comments

I have been plagued for a while, as I am sure you have with the shear amount of patches,hotfixes and other bits of software I have needed to install on my Hyper-V host clusters, I recently got myself into a little bit of trouble when one of my cluster had one missing so today I set about finding a script that would silently install all the required patches and hotfixes. I thought this would be a simple search of the web where someone would have already hit this problem and have shared their code I was surprised there were loads of web sites with scripts and PowerShell examples to work with Windows Updates or WSUS servers but this is not what I was after. What I wanted was a script to automatically and dynamically install patches in a folder which meant I did not need to keep this script up to date. I came across this site where there was a great post showing multiple examples of achieving this.

Below is the code I have settled on, this will enumerate all the patches and hotfixes in the folder the batch file is executed from and it will enumerate the subfolders (nice).

It would be nice if I have the time to expand the script to do lots more, so if I manage to get that done I will share my changes. But you never know with Server 2012 I may not need to worry about this but we will see….

@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
FOR /R “%~dp0” %%A IN (*-KB*.MSU) DO (
CALL :SUB %%~nA
ECHO= Installing KB!KB_NUM!
>NUL TIMEOUT /t 3
WUSA “%%A” /quiet /norestart)
ECHO= == Press any key to restart ==
>NUL PAUSE
SHUTDOWN.EXE /r /t 0
GOTO :EOF

:SUB
SET “KB_NUM=%*”
FOR /F “DELIMS=-” %%B IN (“%KB_NUM:*-KB=%”) DO SET “KB_NUM=%%B”

Categories: Useful Tools Tags:

Free EBooks

August 2, 2012 Leave a comment
Categories: Useful Tools

Clean Up failed SCOM Install

December 1, 2011 Leave a comment

Here is a nice little tool that enables you too clean up a server after a failed install.

The tool is available here for SCOM R2

The switch to use is /Cleanservers

 

I am sure there are other switches to look at!

image

This will then go through the registry etc and clean up the server.

image

Categories: SCOM, Useful Tools Tags:

Scripting Broadcom Team

I am working on a project using Microsoft Virtual Machine Manager 2010 which has a great new feature that will enable Administrators to deploy virtual machine hosts from bare metal. I love the concept slot in a new blade, click go in VMM and 15 minutes later you have a new host ready for deployment.

But….. right at the beginning of my project I have hit an issue configuring the host network adapters, I have three mezzanine cards, giving me eight network adapters some of which will be teamed others like iSCSI not, see the table below.

 

Network Card

NIC ID

NIC NAME

NETWORK

2 x 1GbE

Fabric A

NET1a

NET1b

DP1GbE1-MAN
DP1GbE2-

Management network (Team1)
iSCSI1

4 x 1 GbE

Fabric B

NET3a
NET3b
NET3c
NET3d

QP1GbE1-
QP1GbE2-
QP1GbE3-
QP1GbE4-

iSCSI2
MIGRATION (Team 3)
MIGRATION (Team 3)
Management network (Team1)

2 x 10GbE

Fabric C

NET2a

NET2b

DP10GbE1-

DP10GbE2-

VMN1 / CSV (Team 2)
VMN2 / CSV (Team 2)

Maybe overkill considering we have redundant switches built into the chassis but I want to be as redundant as possible, if I loose a mezzanine card on a blade the blade is still running instead of having to fail over to another.

currently when I build the server as normal I am presented with a clean installation I see eight network connections however there is no way to tell what is what and no way to tell which should be in which network team, I first got around this by running the below script which renamed the network adapter to their respective MAC addresses this then allowed me (a human) to work out which network adapters belonged to which mezzanine card and build the teams and vlans which is no good for a automatic deployment model.

@echo off&Title=Set Adapter Names &MODE CON: COLS=100 LINES=20

powershell -nologo -command “Write-Host ‘Attempting to rename adapters named Local Area Connection* to their MAC address’; $Shell = New-Object -com shell.application; $NetCons = $Shell.Namespace(0x31); $NetCons.Items() | where {$_.Name -like ‘Local Area Connection*’} | foreach{$AdapName=$_.Name; get-WmiObject -class Win32_NetworkAdapter| where-Object {$_.NetConnectionID -eq $AdapName} | foreach {$MAC=$_.MacAddress}; Write-Host Renaming $_.Name to $MAC; $_.Name=$MAC.replace(‘:’,’.’)}” | more

pause

note: If anyone has a good addin for code snippets for WordPress/live writer please let me know!

This solution is no good for me so digging around further, I came up with this solution.

What I found was if you have the same identical blades and mezzanine configuration you seem to always get the same PCI settings on the physical network devices, below I am displaying the properties of a 10GB Ethernet adapter on two different blades. note the PCI bus is the same.

imageimage

Using the Broadcom Advanced Control Suite, I configured one server with all the teams and vlans as I required, shown below.

image

Once I had the teams configured the way I wanted them I then used the command line options for the Broadcom suite to export the configuration.

To do this:

1. open a command prompt

2. change directory to the Broadcom installation directory containing a cli tool called “BACScli.exe”, in my case this was “C:\program Files\Broadcom\BACS”

3. Run the command BACScli –t team “save –f BDF c:\Network-Config.bcg”

image

 

The file created looks like this when opened in notepad

image

Now copy the file to the other server and import the configuration as follows:

1. open a command prompt

2. change directory to the Broadcom installation directory containing a cli tool called “BACScli.exe”, in my case this was “C:\program Files\Broadcom\BACS”

3. Run the command BACScli –t team “restore c:\Network-Config.bcg”

 

image

Looking in the Broadcom Advanced Control Suite I can confirm by looking at the MAC address that I have everything where I want it and all the vlans have been created

image

 

I have a few more test to do as I would like to confirm if other settings will carry over like team configurations, advanced NIC settings but it is looking good I can now carry on with the project knowing this can be built into my provisioning system.

Happy Days.

Categories: Useful Tools Tags:

The Exchange Team does it again.

June 20, 2011 3 comments

So I am continually amazed how the Exchange team keeps
surprising me with giving its customers and users more and more features and
tools.

For the last, what 5 years or so I have been working with
the Exchange team in various ways and in that time I had one of my favourite tools,
the “Exstat” tool which was a tool written by Paul Bowden specifically for the
Exchange TAP programme way back in time!! It has been used, updated and kept
alive by the team ever since, WHY? Because it was a fantastic tool for informaing
both the administrator and TAP team what was deployed in the network etc.

I have used it ever since I first got my hands on it, anyway
back to the point I was reading Steve Goodmans Exchange blogs (http://www.stevieg.org/2011/06/exchange-environment-report/)
this morning as I have many blogs post to catch up on. To find Microsoft has
only gone and provided it to the masses J
please try this especially if you have a number of Exchange boxes, it can sometimes
really useful.

From the looks of it this script is providing exactly the same as the one the TAP
participants received. Next time I get time in my lab I am going to have to give this a whirl and see how easy it is going to be to modify (only slightly).

 

 

 

 

Exchange 2003, 2007 and 2010 URLs

November 11, 2010 Leave a comment

So I am in the process of rebuilding my Exchange/OCS labs and I plan on probably rebuilding them a few times, so I have been working on a few things to streamline the builds and configuration, one of the tools I have been using over the years was a nice script put together by Stale Hansen and a few merry men. the script when run will present you with a number of options allowing you to set URLs for Exchange 2010, 2007 and the Exchange 2003 legacy URL, simple tasks but it is little tools like this that make my days easier allowing to to spend more time with Call of Duty Smile.

Below is the PowerShell script which can be found on Stale’s blog here http://msunified.net/2010/05/07/script-for-configuring-exchange-2010-internal-and-external-urls/ or a direct link http://msunified.net/exchange-downloads/script-internalexternalurls-ps1/

 

####################################################################################################
# Set-InternalExternalURLs.ps1
#
# v03 May2010 by Ståle Hansen (http://msunified.net)
#
# Idea from MVP’s Anderson Patricio and Pat Richard, script designed for Exchange 2010 prerequisites
# Thanks to Marjus Sirvinsks for adapting the script further
#
####################################################################################################
[System.Console]::ForegroundColor = [System.ConsoleColor]::White
clear-host

    write-host
    write-host Script for setting Internal and External URLs on Exchange 2007/2010
    write-host
    write-host Please choose one of the following:
    write-host
    write-host ‘1) Exchange 2010 Internal URLs’
    write-host ‘2) Exchange 2010 External URLs’
    write-host ‘3) Exchange 2007 Internal URLs’
    write-host ‘4) Exchange 2007 External URLs’
    write-host ‘5) Exchange 2003 Legacy URL’
    write-host ‘6) List Current URL Config’
    write-host ‘7) Cancel’ -ForegroundColor Red
    write-host
    $opt = Read-Host "Select an option [1-7]"

switch ($opt)    {

1{
# Set Exchange 2010 Internal URLs using Client Access Arrays in correct sites

Write-Warning "Exchange 2010 Internal URLs requires that a ClientAccessArray is created"

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -eq 14}){
$CASserver = $Server.Identity
$ADsite = Get-ExchangeServer $Server
$site = $ADsite.site
$urlpath = Get-ClientAccessArray | where-object {$_.site -eq $site}
$casarray = $urlpath.fqdn

Write-Host
Write-Host "Found Exchange 2010 Client Access Server " -NoNewLine
Write-Host $CASserver -NoNewLine -Foregroundcolor Green
Write-Host " in ADsite " -NoNewLine
Write-Host $site -Foregroundcolor Green

Write-Host "Client Access Array is resolved to " -NoNewLine
Write-Host $casarray -NoNewLine -foregroundcolor Green
Write-Host " in ADsite " -NoNewLine
Write-Host $site -foregroundcolor Green
Write-Host "Will use " -NoNewLine
Write-Host https://$casarray -NoNewLine -foregroundcolor Green
Write-Host " as InternalUrl on this server"

}

Write-Host
Write-Host "Press " -NoNewLine
Write-Host "Enter" -NoNewLine -foregroundcolor Green
Write-Host " to continue, or " -NoNewLine
Write-Host "CTR+C " -NoNewLine -foregroundcolor Red
Write-Host "to cancel"
[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray
Read-Host
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -eq 14}){
$CASserver = $Server.Identity
$ADsite = Get-ExchangeServer $Server
$site = $ADsite.site
$urlpath = Get-ClientAccessArray | where-object {$_.site -eq $site}
$casarray = $urlpath.fqdn

Get-AutodiscoverVirtualDirectory -Server $CASserver | Set-AutodiscoverVirtualDirectory –InternalUrl "https://$casarray/Autodiscover/Autodiscover.xml"
Get-ClientAccessServer -Identity $CASserver | Set-ClientAccessServer –AutodiscoverServiceInternalUri "https://$casarray/Autodiscover/Autodiscover.xml"
Get-WebservicesVirtualDirectory -Server $CASserver | Set-WebservicesVirtualDirectory –InternalUrl "https://$casarray/Ews/Exchange.asmx"
Get-OabVirtualDirectory -Server $CASserver | Set-OabVirtualDirectory –InternalUrl "https://$casarray/Oab"
Get-OwaVirtualDirectory -Server $CASserver | Set-OwaVirtualDirectory –InternalUrl "https://$casarray/Owa"
Get-EcpVirtualDirectory -Server $CASserver | Set-EcpVirtualDirectory –InternalUrl "https://$casarray/Ecp"
Get-ActiveSyncVirtualDirectory -Server $CASserver | Set-ActiveSyncVirtualDirectory -InternalUrl "https://$casarray/Microsoft-Server-ActiveSync"
}

#Get commands to doublecheck the config
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Get-AutodiscoverVirtualDirectory | ft Identity,InternalUrl
Get-ClientAccessServer | ft Identity,AutodiscoverServiceInternalUri
Get-WebservicesVirtualDirectory | ft Identity,InternalUrl
Get-OabVirtualDirectory | ft Identity,InternalUrl
Get-OwaVirtualDirectory | ft Identity,InternalUrl
Get-EcpVirtualDirectory | ft Identity,InternalUrl
Get-ActiveSyncVirtualDirectory | ft Identity,InternalUrl

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}

2{
# Set external URL on all Exchange 2010 Client Access Servers using input

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -eq 14}){
$CASserver = $Server.Identity
$ADsite = Get-ExchangeServer $Server
$site = $ADsite.site

Write-Host
Write-Host "Found Exchange 2010 Client Access Server " -NoNewLine
Write-Host $CASserver -NoNewLine -Foregroundcolor Green
Write-Host " in ADsite " -NoNewLine
Write-Host $site -Foregroundcolor Green
Write-Host

}

$urlpath = Read-Host "Type external FQDN for Exchange 2010 Client Access"
Write-Host "Will set ExternalUrl as " -NoNewLine
Write-Host "https://$urlpath/" -NoNewLine -foregroundcolor Green
Write-Host " on all Exchange 2010 Client Access Servers"

Write-Host
Write-Host "Press " -NoNewLine
Write-Host "Enter" -NoNewLine -foregroundcolor Green
Write-Host " to continue, or " -NoNewLine
Write-Host "CTR+C " -NoNewLine -foregroundcolor Red
Write-Host "to cancel"
[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray
Read-Host
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -eq 14}){
$CASserver = $Server.Identity

Get-AutodiscoverVirtualDirectory -Server $CASserver | Set-AutodiscoverVirtualDirectory –ExternalUrl "https://$urlpath/Autodiscover/Autodiscover.xml"
Get-webservicesVirtualDirectory -Identity $CASserver | Set-webservicesVirtualDirectory –ExternalUrl "https://$urlpath/Ews/Exchange.asmx"
Get-OabVirtualDirectory -Server $CASserver | Set-OabVirtualDirectory –ExternalUrl "https://$urlpath/Oab"
Get-OwaVirtualDirectory -Server $CASserver | Set-OwaVirtualDirectory –ExternalUrl "https://$urlpath/Owa"
Get-EcpVirtualDirectory -Server $CASserver | Set-EcpVirtualDirectory –ExternalUrl "https://$urlpath/Ecp"
Get-ActiveSyncVirtualDirectory -Server $CASserver | Set-ActiveSyncVirtualDirectory -ExternalUrl "https://$urlpath/Microsoft-Server-ActiveSync"
}

#Get commands to doublecheck the config
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Get-AutodiscoverVirtualDirectory | ft Identity,ExternalUrl
Get-webservicesVirtualDirectory | ft Identity,ExternalUrl
Get-OabVirtualDirectory | ft Identity,ExternalUrl
Get-OwaVirtualDirectory | ft Identity,ExternalUrl
Get-EcpVirtualDirectory | ft Identity,ExternalUrl
Get-ActiveSyncVirtualDirectory | ft Identity,ExternalUrl

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}

3{
# Set Exchange 2007 Internal URLs using input

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -lt 14}){
$CASserver = $Server.Identity
$ADsite = Get-ExchangeServer $Server
$site = $ADsite.site

Write-Host
Write-Host "Found Exchange 2007 Client Access Server " -NoNewLine
Write-Host $CASserver -NoNewLine -Foregroundcolor Green
Write-Host " in ADsite " -NoNewLine
Write-Host $site -Foregroundcolor Green
Write-Host

}

Write-Host "Type internal FQDN for Exchange 2007 Client Access"
Write-Host "Please type http:// or https:// in front: " -NoNewLine -foregroundcolor Yellow
$urlpath = Read-Host
Write-Host
Write-Host "Will set InternalUrl as " -NoNewLine
Write-Host "$urlpath/" -NoNewLine -foregroundcolor Green
Write-Host " on all Exchange 2007 Client Access Servers"

Write-Host
Write-Host "Press " -NoNewLine
Write-Host "Enter" -NoNewLine -foregroundcolor Green
Write-Host " to continue, or " -NoNewLine
Write-Host "CTR+C " -NoNewLine -foregroundcolor Red
Write-Host "to cancel"
[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray
Read-Host
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -lt 14}){
$CASserver = $Server.Identity

Get-AutodiscoverVirtualDirectory -Server $CASserver | Set-AutodiscoverVirtualDirectory –InternalUrl "$urlpath/Autodiscover/Autodiscover.xml"
Get-ClientAccessServer -Identity $CASserver | Set-ClientAccessServer –AutodiscoverServiceInternalUri "$urlpath/Autodiscover/Autodiscover.xml"
Get-WebservicesVirtualDirectory -Server $CASserver | Set-WebservicesVirtualDirectory –InternalUrl "$urlpath/Ews/Exchange.asmx"
Get-OabVirtualDirectory -Server $CASserver | Set-OabVirtualDirectory –InternalUrl "$urlpath/Oab"
Get-OwaVirtualDirectory -Identity "$CASserver\OWA (Default Web site)"  | Set-OwaVirtualDirectory –InternalUrl "$urlpath/Owa"
Get-ActiveSyncVirtualDirectory -Server $CASserver | Set-ActiveSyncVirtualDirectory -InternalUrl "$urlpath/Microsoft-Server-ActiveSync"
}

#Get commands to doublecheck the config
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Get-AutodiscoverVirtualDirectory | ft Identity,InternalUrl
Get-ClientAccessServer | ft Identity,AutodiscoverServiceInternalUri
Get-WebservicesVirtualDirectory | ft Identity,InternalUrl
Get-OabVirtualDirectory | ft Identity,InternalUrl
Get-OwaVirtualDirectory | ft Identity,InternalUrl
Get-ActiveSyncVirtualDirectory | ft Identity,InternalUrl

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}

4{
# Set external URL on Exchange 2007 Client Access Servers using input

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -lt 14}){
$CASserver = $Server.Identity
$ADsite = Get-ExchangeServer $Server
$site = $ADsite.site

Write-Host
Write-Host "Found Exchange 2007 Client Access Server " -NoNewLine
Write-Host $CASserver -NoNewLine -Foregroundcolor Green
Write-Host " in ADsite " -NoNewLine
Write-Host $site -Foregroundcolor Green
Write-Host
}

$urlpath = Read-Host "Type external FQDN for Client Access"
Write-Host "Will set ExternalUrl as " -NoNewLine
Write-Host "https://$urlpath/" -NoNewLine -foregroundcolor Green
Write-Host " on all Exchange 2007 Client Access Servers"

Write-Host
Write-Host "Press " -NoNewLine
Write-Host "Enter" -NoNewLine -foregroundcolor Green
Write-Host " to continue, or " -NoNewLine
Write-Host "CTR+C " -NoNewLine -foregroundcolor Red
Write-Host "to cancel"
[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray
Read-Host
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -lt 14}){
$CASserver = $Server.Identity

Get-AutodiscoverVirtualDirectory -Server $CASserver | Set-AutodiscoverVirtualDirectory –ExternalUrl "https://$urlpath/Autodiscover/Autodiscover.xml"
Get-webservicesVirtualDirectory -Server $CASserver | Set-webservicesVirtualDirectory –ExternalUrl "https://$urlpath/Ews/Exchange.asmx"
Get-OabVirtualDirectory -Server $CASserver | Set-OabVirtualDirectory –ExternalUrl "https://$urlpath/Oab"
Get-OwaVirtualDirectory -Identity "$CASserver\OWA (Default Web site)" | Set-OwaVirtualDirectory –ExternalUrl "https://$urlpath/Owa"
Get-ActiveSyncVirtualDirectory -Server $CASserver | Set-ActiveSyncVirtualDirectory -ExternalUrl "https://$urlpath/Microsoft-Server-ActiveSync"

}

#Get commands to doublecheck the config
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Get-AutodiscoverVirtualDirectory | ft Identity,ExternalUrl
Get-webservicesVirtualDirectory | ft Identity,ExternalUrl
Get-OabVirtualDirectory | ft Identity,ExternalUrl
Get-OwaVirtualDirectory | ft Identity,ExternalUrl
Get-ActiveSyncVirtualDirectory | ft Identity,ExternalUrl

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}

5{
$legacy = Read-Host "For Legacy Exchange 2003 coexistence, type external FQDN"
Write-Host "Will use" -NoNewLine
Write-Host " https://$legacy/Exchange" -NoNewLine -foregroundcolor Green
Write-Host " as Exchange 2003 URL on all Exchange 2010 Client Access Servers"

Write-Host
Write-Host "Press " -NoNewLine
Write-Host "Enter" -NoNewLine -foregroundcolor Green
Write-Host " to continue, or " -NoNewLine
Write-Host "CTR+C " -NoNewLine -foregroundcolor Red
Write-Host "to cancel"
[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray
Read-Host
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Foreach($Server in Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -eq 14}){
$CASserver = $Server.Identity

Get-OwaVirtualDirectory -Server $CASserver | Set-OwaVirtualDirectory –Exchange2003Url "https://$legacy/Exchange"

}

#get command to doublecheck the config
[System.Console]::ForegroundColor = [System.ConsoleColor]::White

Get-OwaVirtualDirectory | ft Identity,Exchange2003Url

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}

6{
# Display current Exchange Internal and External URL configuration
# Testing if Exchange 2010 servers present, if not dont display ECP else display with ECP

$Server = Get-ClientAccessServer | Get-ExchangeServer | where-object {$_.AdminDisplayVersion.Major -eq 14}
if ($server -eq $Null){

# No Exchange 2010 servers present

Get-AutodiscoverVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-ClientAccessServer | fl Identity,AutodiscoverServiceInternalUri
Get-WebservicesVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-OabVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-OwaVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-ActiveSyncVirtualDirectory | fl Identity,InternalUrl,ExternalUrl

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray
}
else{

# Exchange 2010 servers present

Get-AutodiscoverVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-ClientAccessServer | fl Identity,AutodiscoverServiceInternalUri
Get-WebservicesVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-OabVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-OwaVirtualDirectory | fl Identity,InternalUrl,ExternalUrl,Exchange2003Url
Get-EcpVirtualDirectory | fl Identity,InternalUrl,ExternalUrl
Get-ActiveSyncVirtualDirectory | fl Identity,InternalUrl,ExternalUrl

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}
}

7{

[System.Console]::ForegroundColor = [System.ConsoleColor]::Gray

}
        }

BDD 2007 Lite Touch and SMS 2003 Zero Touch Video Walkthroughs

April 10, 2008 Leave a comment

If you are like me, there is nothing better than someone showing you how to do something, instead of finding it on Technet or in a book, in fact a combination of a demo and Technet/book would be great!!

Any way I spotted some Video walkthroughs on the development Guys blog, I have not had time to download them yet, but I will be tonight 🙂

Here is the link to the downloads, and here is where I found it

Categories: Useful Tools, Vista