Archive for the ‘Windows 2008’ Category.

Windows Server 2008 Command Lines for Administrative Consoles

Så lige dette link, som giver et godt overblik over de enkelte kommandoer i Windows 2008/R2.
http://msmvps.com/blogs/ad/archive/2008/06/20/windows-server-2008-command-lines-for-administrative-consoles.aspx

AdRmsAdmin.msc

Active Directory Rights Management Services

Adsiedit.msc 

ADSI Edit

Azman.msc

Authorization Manager

Certmgr.msc

Certmgr (Certificates)

Certtmpl.msc

Certificates Template Console

CluAdmin.msc

Failover Cluster Management

Comexp.msc

Component Services

Compmgmt.msc

Computer Management

Devmgmt.msc

Device Manager

Dfsmgmt.msc

DFS Management

Dhcpmgmt.msc

DHCP Manager

Diskmgmt.msc

Disk Management

Dnsmgmt.msc

DNS Manager

Domain.msc

Active Directory Domains And Trusts

Dsa.msc

Active Directory Users And Computers

Dssite.msc

Active Directory Sites And Services

Eventvwr.msc

Event Viewer

Fsmgmt.msc

Shared Folders

Fsrm.msc

File Server Resource Manager

Fxsadmin.msc

Microsoft Fax Service Manager

Gpedit.msc

Local Group Policy Editor

Lusrmgr.msc

Local Users And Groups

Napclcfg.msc

NAP Client Configuration

Nfsmgmt.msc

Services For Network File System

Nps.msc

Network Policy Server

Ocsp.msc

Online Responder

Perfmon.msc

Reliability And Performance Monitor

Pkiview.msc

Enterprise PKI

Printmanagement.msc

Print Management

Remoteprograms.msc

TS RemoteApp Management

Rsop.msc

Resultant Set of Policy

Secpol.msc

Local Security Policy

ServerManager.msc

Server Manager

StorageMgmt.msc

Share And Storage Management

Services.msc

Services

StorExpl.msc

Storage Explorer

Tapimgmt.msc

Telephony

Taskschd.msc

Task Scheduler

Tmp.msc

Trusted Platform Module (TPM) Management

Tsadmin.msc

Terminal Services Management

Tsconfig.msc

Terminal Services Configuration

Tsgateway.msc

TS Gateway Manager

Tsmmc.msc

Remote Desktops

Uddi.msc

UDDI Services Console

Wbadmin.msc

Windows Server Backup

Wdsmgmt.msc

Windows Deployment Services

Winsmgmt.msc

WINS Manager

WmiMgmt.msc

WMI Control

Opsætning Af RRAS Server – SSL VPN

Med Windows 2008 RRAS får man mulighed for at benytte en ny type VPN forbindelse, som kaldes SSTP (Secure Socket Tunneling Protocol).
Den lytter på port 443 og brugerne kan udefra, etablere en SSTP VPN forbindelse på tværs af firewalls og NAT devices.
Krav til klienter er Vista SP1, Windows 2008 eller Windows 7. For mere info se nedenstående link.
http://technet.microsoft.com/en-us/magazine/2007.06.cableguy.aspx

Konfiguration af RRAS VPN server, sker som følger:
Installer en ny Windows 2008 server x64 + SP2 + fuld windows update + 2 netkort + disable IPv6.
Omdøb de 2 netkort som henholdsvis LAN og DMZ og angiv faste IP addresser.

LAN (Internt LAN):
IP = 192.168.35.30
Subnet = 255.255.255.0
Gateway = blank
DNS = interne DNS adresser

DMZ (Peger ud i DMZ)
IP = 192.168.36.30
Subnet = 255.255.255.0
Gateway = 192.168.36.1
DNS = Blank

Join serveren til det interne domæne. Hvis man har en enterprise CA server internt på LAN’et, får den nye RRAS server dynamisk et computer certifikat.
Dette vil default konflikte med RRAS SSTP setup. Det er her vigtigt først at eksportere dette og slette det inde fra “Certificates (local computer) – Personal”.
Vi er nu klar til at lave vores eget FQDN SSL certificate, som bliver det navn, som brugerne udefra connecter op mod udefra, feks. “vpn.jravn.dk”.
Jeg udsteder mit eget SSL certifikat fra en Windows 2008 CA og impoterdere det som et pfx certificate i serverens “Certificates (local computer) – Personal” cert store.
Det kræver at brugerne har det interne Root Certificate ude på maskinerne.

Næste step er så installere RRAS. Vælg Server Manager – Roles – Add Roles og tjek, som vist på nedenstående billeder.



Vi er nu klar til at konfigurere RRAS med henblik på SSTP.
start “Routing and Remote Access Console – Højre musetast og vælg Configure Routing and Remote Access – Next.

Vælg Remote access (Dial-up or VPN) – Next.

Vælg VPN – Next.

Vælg Public LAN Interface (DMZ) – Next.
Det er vigtigt, at sætte hak i “enable static packet filter” for optimeret sikkerhed, idet serveren kun vil svare på trusted VPN traffik.

Jeg vælger her at SSTP klienterne automatisk for tildelt en DHCP adresse – Next.

Jeg vælger “Local Windows Authentication” – Next – Finish.

Vælg til sidst OK til DHCP relay.

Vi er nu færdige med RRAS installation og konfiguration.
Jeg tjekker herefter at der åben i firewallen på port 443 fra WAN til DMZ (kun til RRAS serveren).
Med kommandoen “netstat –aon | findstr 443”, sikre jeg mig, at SSTP servicen lytter på port 443.
Den viser det her både for IPv4 og IPv6.

Jeg tjekker også at SSTP servicen er koblet til det rigtige certifikat. Det gøres med nedenstående kommando.

Hvis man benytter et certifikat fra en intern Enterprise CA, som jeg har gjort i dette test-setup, vil man få nedenstående fejl, når man laver sin SSTP connection.

Kort fortalt betyder det, at klienten tjekker CRL (certificate revocation list) om certifikatet er udløbet. Dette sker inden VPN forbindelsen er etableret.
Dette kan undgås ved at købe et public SSL certifikat fra feks. Godaddy eller ved at disable CRL tjek ude på klienterne via nedenstående reg-nøgle.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSstpSvcParameters]
“NoCertRevocationCheck”=dword:00000001

Jeg får herefter lov at connecte via SSTP.

Referencer til denne blog-post.

SSTP Remote Access Step-by-Step Guide:
http://technet.microsoft.com/en-us/library/cc731352(WS.10).aspx

How to troubleshoot Secure Socket Tunneling Protocol (SSTP)-based connection failures in Windows Server 2008:
http://support.microsoft.com/kb/947031

Registry entries that Routing and Remote Access adds in Windows Server 2008:
http://support.microsoft.com/kb/947054

Client fails to connect to SSTP VPN server giving error message 0x80092013:
http://support.microsoft.com/kb/961880/EN-US

GPO Backup – Windows 2008

Man kan schdulere et GPO backup script på en af sine windows 2008 dc’ere.
For Windows 2008 skal man downloade GPMC Scripts via nedenstående link:
http://www.microsoft.com/downloads/details.aspx?FamilyId=38C1A89B-A6D2-4F2A-A944-9236999AEE65&displaylang=en

Der kan herefter laves en daglig schdule via en CMD-fil (GPObackup.cmd), som feks kan indeholde følgende kommando:

REM************GPObackup.cmd – Daglig GPO Backup**************************
C:
cd C:Program FilesMicrosoft Group PolicyGPMC Sample Scripts
cscript BackupAllGPOs.wsf C:GPObackup
Exit

Reference til GPMC scripts:
http://technet.microsoft.com/en-us/library/cc776655.aspx

Ovenstående backup procedure, kan også laves i PowerShell.
BackupAllGpos.ps1 indeholder følgende kode:

###########################################################################
#Sletter alle tidligere GPO backups, som er ældre end 5 dage.
Get-ChildItem C:GPObackup -recurse | Where {($_.PSIsContainer) -and ($_.CreationTime -le $(Get-Date).AddDays(-5))} | Remove-Item -Recurse -Force

###########################################################################
# Function   : BackupAllGpos
# Description: Backs up all GPOs in a Domain
# Parameters : $backupDirectory – The directory where the backups will be stored
#            : $domainName – The dns name, e.g. microsoft.com, of the domain to operate on
#            : $backupComment – An optional comment for the backups, if nothing is passed the current date will be used.
# Returns    : N/A
###########################################################################

function BackupAllGpos(
  [string] $backupDirectory=$(throw ‘$backupDirectory is required’),
  [string] $domainName=$(throw ‘$domainName is required’),
  [string] $backupComment=$(get-date))
{
  $gpmAllGposInDomain = GetAllGposInDomain $domainName

  foreach ($gpmGpo in $gpmAllGposInDomain) # Iterate through all the GPOs
  {
    “Back up GPO : ” + $gpmGpo.DisplayName
    $gpmResult = $gpmGpo.Backup($backupDirectory, $backupComment) # Backup the GPO
    [void] $gpmResult.OverallStatus
    $gpoBackup = $gpmResult.Result
  }
}

###########################################################################
# Function   : GetAllGposInDomain
# Description: Returns all GPOs in a domain
# Parameters : $domainName – The dns name, e.g. microsoft.com, of the domain to operate on
# Returns    : All Group Policy Objects in the supplied domain
###########################################################################

function GetAllGposInDomain(
  [string] $domainName=$(throw ‘$domainName is required’))
{
  $gpm = New-Object -ComObject GPMgmt.GPM # Create the GPMC Main object
  $gpmConstants = $gpm.GetConstants() # Load the GPMC constants
  $gpmDomain = $gpm.GetDomain($domainName, “”, $gpmConstants.UseAnyDC) # Connect to the domain passed using any DC
  $gpmSearchCriteria = $gpm.CreateSearchCriteria() # Create a search criteria without any restrictions
  $gpmDomain.SearchGPOs($gpmSearchCriteria) # Search and find all GPOs in the domain, this will return the array
}

backupAllGpos “C:GPObackup” “win.local”

#End Script

Nedenstående billede viser en manuel afvikling af scriptet:

Man kan ligeledes lave en scedule på PowerShell scriptet. Jeg benytter her samme GPObackup.cmd, som indeholder følgende:

REM************GPObackup.cmd – Daglig GPO Backup**************************
powershell -command “& ‘c:powershellBackupAllGpos.ps1′”
Exit

Ovenstående kan selvfølgelig også afvikles fra en remote Admin server/workstation, samtidig med at der laves backup til disk/tape af de enkelte GPO backups.

Reference og download af PowerShell source code, se nedenstående link:
http://technet.microsoft.com/en-us/magazine/2007.05.grouppolicy.aspx

How to schedule a Windows Powershell script:
http://www.searchmarked.com/windows/how-to-schedule-a-windows-powershell-script.php

Running Windows PowerShell Scripts:
http://www.microsoft.com/technet/scriptcenter/topics/winpsh/manual/run.mspx

Hyper-V og NLB

Jeg er i mindre skala begyndt at implemetere server core med Hyper-V i diverse produktionsmiljøer.
Her har jeg oplevet et problem med NLB. Når man feks, vil installere sine Exchange CAS/HUB server i NLB unicast setup, får man efterfølgende nedenstående fejl.

Løsningen er her at indsætte den statiske MAC adresse fra NLB clusteret på begge CAS/HUB servernes NLB network adapter.
Det gøres som følger – Jeg har her 2 CAS/HUB servere (WIN-CASHUB-001 og 002)
Jeg starter “Network Load Balancing Manager” på WIN-CASHUB-001 og opretter NLB clusteret med WIN-CASHUB-001, som den første node.
Jeg lader den fejle og skriver herefter “nlb ip2mac clusterIP” og kopierer unicast MAC.


Herefter laver jeg en shutdown af WIN-CASHUB-001 og indsætter unicast MAC, som en statisk MAC adresse på NLB network adapteren.

Jeg starter WIN-CASHUB-001 og sikre mig at den nu har status som “Converged”
Samme øvelse fortager jeg for WIN-CASHUB-002. Jeg tilføjer den til NLB clusteret lader den fejle og indsætter herefter unicast MAC på dens NLB network adapter.
Man skulle nu have et funktionsdygtigt NLB cluster i unicast mode.
 
Hvis man ikke ønsker at kører med statiske mac adresser, kan man her benytte “legacy network adapter”, som dog er langsommere idet de er emuleret.

The Differences between a the “Network adapter “and the “Legacy Network adapter”
http://itbloggen.se/cs/blogs/micke/archive/2008/01/22/hyper-v-the-differences-between-a-the-network-adapter-and-the-legacy-network-adapter.aspx

Som udgangspunkt installere jeg også hver gang nedenstående hotfix, når jeg konfigurere et nyt hyper-V NLB cluster.
http://support.microsoft.com/kb/953828

Active Directory – Restore DHCP

Default tager DHCP serveren automaisk en backup af DHCP databasen(DHCP.mdb) hver time.
Backup lokation er default “C:Windowssystem32dhcpbackup”. Denne lokation kan ændres inde fra DHCP manageren.
Registry nøglerne til ovenstående default værdier er som følger:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDHCPServerParametersBackupInterval
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDHCPServerParametersBackupDatabasePath

Hvis man har et ældre backup program (ex. Backup Exec 10.x), er det nok at tage en backup af DHCP backup folderen, da denne ikke er i brug.
Jeg har tidligere oplevet af Backup Exec 10.x ikke kan tage backup af en online DHCP.mdb.
Hvis man får en corrupted DHCP database eller man kommer til at slette et scope, kan man restore den som følger:

Stop DHCP servicen.
Cut/Slet indeholdet af folderen “C:Windowssystem32dhcp”.
Start regedit og gå til HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDHCPServer.
Ændre RestoreFlag værdien til 1.
Start DHCP servicen.
DHCP backuppen bliver nu indlæst og RestoreFlag værdien sættes til 0 igen.

Hvis man ønsker at flytte DHCP serveren over til en anden Windows 2008 kan man nu flytte den inde fra DHCP manageren via Backup/Restore options.
Endvidre kan Backup/Restore af DHCP settings scriptes med nedenstående kommandoer:

Backup:
netsh dhcp server dump > c:dhcp_backupDHCPconfig.cfg

Restore:
netsh exec c:dhcp_backupDHCPconfig.cfg

Reference til ovenstående:

Backing up the DHCP database.
http://technet.microsoft.com/en-us/library/cc738987.aspx

How to Restore a Corrupted DHCP Database File:
http://support.microsoft.com/kb/173396