www.flickr.com
Posts tonen met het label microsoft. Alle posts tonen
Posts tonen met het label microsoft. Alle posts tonen

vrijdag 15 juni 2012

Upgrade Windows Certificeringen

Later dit jaar zal Microsoft met twee nieuwe besturingssystemen op de markt komen; Windows 8 voor desktops en Windows 2012 voor servers.

Met de komst van deze producten haalt Microsoft ook de bezem door het certificeringsaanbod van het bedrijf. Een opmerkelijke ontwikkeling is dat Microsoft weer afstapt van de met Windows 2008 geïntroduceerde certificeringen MCITP en MCTS. Hiervoor komen de oude vertrouwde certificeringen MCSA en MCSE weer terug. Door middel van dit artikel wil ik de beschikbare upgradepaden vanaf Windows 2008 aan jullie tonen.

Degenen die MCITP Enterprise Administrator of MCITP Server Administrator gecertificeerd zijn, hebben automatisch een MCSA: Windows Server 2008 certificering gekregen. Vanuit hier is het mogelijk om vervolgens te upgraden naar MCSA: Windows Server 2012 en MCSE 2012: Server infrastructure. Er is ook een upgrade pad beschikbaar voor professionals met een MCITP: Virtualization Administrator certificering. Hieronder vind je de verschillende beschikbare upgrade paden.

Paths to MCSA: Windows Server 2012
Paths to MCSA: Windows Server 2012 (click image to enlarge)

Paths to MCSE: Server infrastructure
Paths to MCSE: Server infrastructure (click image to enlarge)

Bovendien zijn er naast het traditionele MCSE voor Windows infrastructuur ook aanvullende MCSE certificeringen gekomen met een focus op een bepaalde technologie, te weten:
  • MCSE: Desktop Infrastructure
  • MCSE: Private Cloud
  • MCSE: SQL Server 2012
Hoe je het beste in het bezit kunt komen van deze certificeringen laat ik voor dit artikel buiten beschouwing. Ik verwacht namelijk dat de meeste professionals voor het 'klassieke' MCSE gaan. Dus gericht op beheer van Windows Server systemen in een Active Directory omgeving.

Waarin het nieuwe MCSE (en overigens ook de MCITP certificeringen) verschilt van het oude MCSE is dat er geen combinatie meer is van verplichte en keuze modules. In plaats hiervan kun je eventueel meerdere MCSA en MCSE certificeringen combineren

Alle relevante informatie over Microsoft certificering is te vinden op de website van Microsoft: http://www.microsoft.com/learning/en/us/certification/cert-overview.aspx

woensdag 19 januari 2011

Active Directory groepslidmaatschappen kopiëren

Waar je in de AD users & computers snap-in wel gebruikers kunt aanmaken aan de hand van een bestaande gebruiker, is dit bij groepen niet mogelijk. Ook hier komt Powershell weer van pas (icm. Quest cmd-lets).

De onderstaande code zorgt ervoor dat de lidmaatschappen van een brongroep worden overgebracht naar een bestemmingsgroep. Als je het helemaal perfect wil hebben, kun je ook nog code toevoegen om de bestemmingsgroep gescript aan te maken. Maar ik vind het zo al prima:

$srcGroup = "source group"
$dstGroup = "destination group"
Get-QADGroupMember "$srcGroup" | foreach {
add-qadgroupmember "$dstGroup" -Member $_
}

donderdag 11 november 2010

Windows 2008 RDP: meerdere sessies per gebruiker

Onlangs merkte ik op dat er in Windows 2008 standaard maar één RDP sessie per gebruiker wordt toegestaan. Dit is niet altijd wenselijk, dus zocht ik naar een manier om dit aan te passen. Dit is mogelijk door het volgende commando uit te voeren:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0x0 /f

Daarnaast is het mogelijk om deze instelling met een lokaal of group policy af te dwingen.

dinsdag 26 oktober 2010

SQL 2008 Express backups met PowerShell

Als je gebruikt maakt van de Express editie van SQL Server, dan zul je het moeten doen zonder Maintenance Plans. Hoewel dit een zeer eenvoudige tools is om te gebruiken, is er voor SQL 2008 Express een goed alternatief beschikbaar; PowerShell!

Beter goed gejat dan slecht verzonnen was mijn insteek bij deze oplossing. Ik heb gebruik gemaakt van de volgende artikelen:
Daarnaast had ik zelf een one-liner om bestanden ouder dan een bepaalde tijd op te ruimen. Als je dit combineert, dan krijg je het onderstaande resultaat.

#
# Loads the SQL Server Management Objects (SMO)
#

$ErrorActionPreference = "Stop"

$sqlpsreg="HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.SqlServer.Management.PowerShell.sqlps"

if (Get-ChildItem $sqlpsreg -ErrorAction "SilentlyContinue")
{
throw "SQL Server Provider for Windows PowerShell is not installed."
}
else
{
$item = Get-ItemProperty $sqlpsreg
$sqlpsPath = [System.IO.Path]::GetDirectoryName($item.Path)
}


$assemblylist =
"Microsoft.SqlServer.Management.Common",
"Microsoft.SqlServer.Smo",
"Microsoft.SqlServer.Dmf ",
"Microsoft.SqlServer.Instapi ",
"Microsoft.SqlServer.SqlWmiManagement ",
"Microsoft.SqlServer.ConnectionInfo ",
"Microsoft.SqlServer.SmoExtended ",
"Microsoft.SqlServer.SqlTDiagM ",
"Microsoft.SqlServer.SString ",
"Microsoft.SqlServer.Management.RegisteredServers ",
"Microsoft.SqlServer.Management.Sdk.Sfc ",
"Microsoft.SqlServer.SqlEnum ",
"Microsoft.SqlServer.RegSvrEnum ",
"Microsoft.SqlServer.WmiEnum ",
"Microsoft.SqlServer.ServiceBrokerEnum ",
"Microsoft.SqlServer.ConnectionInfoExtended ",
"Microsoft.SqlServer.Management.Collector ",
"Microsoft.SqlServer.Management.CollectorEnum",
"Microsoft.SqlServer.Management.Dac",
"Microsoft.SqlServer.Management.DacEnum",
"Microsoft.SqlServer.Management.Utility"


foreach ($asm in $assemblylist)
{
$asm = [Reflection.Assembly]::LoadWithPartialName($asm)
}

Push-Location
cd $sqlpsPath
update-FormatData -prependpath SQLProvider.Format.ps1xml
Pop-Location

$s = New-Object ("Microsoft.SqlServer.Management.Smo.Server") "(local)"

$Date = Get-Date
$bkdir = $s.Settings.BackupDirectory
$dbs = $s.Databases
foreach ($db in $dbs)
{
if($db.Name -ne "tempdb") #We don't want to backup the tempdb database
{
$dbname = $db.Name
$dt = get-date $Date -format yyyyMMddHHmm #We use this to create a file name based on the timestamp
$dbBackup = new-object ("Microsoft.SqlServer.Management.Smo.Backup")
$dbBackup.Action = "Database"
$dbBackup.Database = $dbname
$dbBackup.Devices.AddDevice($bkdir + "\" + $dbname + "_" + $dt + ".bak", "File")
$dbBackup.Initialize = $true
$dbBackup.SqlBackup($s)
}
}
$CutOff = 7
$bkdir | get-childitem | where {$_.PSIsContainer -eq $false -AND $_.LastWriteTime.date -lt ($Date).AddDays(-$CutOff)} | Remove-Item

vrijdag 19 oktober 2007

Microsoft Network Monitor 3.1 beschikbaar

Enige tijd geleden is er een nieuwe versie van de Microsoft Network Monitor beschikbaar gekomen. We zitten ondertussen op versie 3.1 en deze is aanmerkelijk beter dan versie 2.x. Er is voor deze applicatie zelfs een heuse blog bescikbaar.

Vooral het schrijven van capture filters is in de nieuwe versie aanmerkelijk verbeterd. Zo is het nu bijvoorbeeld mogelijk om (zoals ik in tcpdump al langer kon) uitsluitend het starten en stoppen van TCP connecties filteren.

Dit kan door in je filter gebruik te maken van één van de volgende objecten:
IPv4.Tcp.Flags.Syn
IPv4.Tcp.Flags.Reset
IPv4.Tcp.Flags.Fin

donderdag 31 mei 2007

Restoren van 'in use' MSSQL database

Mocht je net zoals ik geregeld een SQL database moeten restoren, dan ken je wellicht het verschijnsel dat deze actie stopt met de volgende foutmelding: "Exclusive access could not be obtained because the database is in use".

Mijn standaard reactie op deze melding was het opvragen van de actieve users met sp_who en deze met het kill commando van de server trappen. Er zijn echter alternatieven om dit slimmer en sneller te doen.

Mijn eerste gedachte was om de systeem tabel sysprocesses op te vragen en vervolgens met een loopje de actieve processen te killen.Echter na enig zoekwerk op Google naar alternatieven kwam ik een betere oplossing tegen, namelijk het in single user mode zetten van de database. Hierdoor worden alle actieve users uitgelogd en kan de restore zonder problemen gestart worden. Helaas is deze oplossing pas beschikbaar vanaf SQL server 2000, maar eerdere versies zijn gelukkig een snel uitstervend ras.

De T-SQL opdracht gebruik ik voor het in single user mode zetten van een database:

ALTER DATABASE DbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE

woensdag 23 mei 2007

Windows builtin groups gebruiken voor SQL server login

Zou je binnen SQL server een builtin group rechten willen geven om in te loggen, dan werkt dit niet via de Enterprise Manager. Je selecteert de groep en ziet in het venster MachineNaam\GroepNaam staan. Zodra je op OK klikt zul je de volgende foutmelding krijgen: "Windows NT user or group 'MachineNaam\GroepNaam' not found. Check the name again. (Microsoft SQL Server, Error: 15401)".

Dit blijkt een bug te zijn in de Enterprise Manager. Voor builtin groups kun je dus beter een sp_grantlogin opdracht geven in de Query Analyzer. De syntax voor deze opdracht is:

EXEC sp_grantlogin 'Builtin\GroepNaam'.