dinsdag 20 september 2016

Remove recovery type snapshot Hyper-V

Soms komt het voor dat een backup pakket een snapshot laat staan van een Hyper-v Machine, dit kan verschillende oorzaken hebben, als je deze weg wilt halen dan kan dit helaas niet via de GUI.
Je zult hiervoor met powershell aan de slag moeten, ga naar de Hyper-v node waar de VM op draait, en start een powershell CLI.
 
Vraag eerst de VM op en welke snapshot er nog staat: Get-VMSnapshot -VMName (naam vm)
 
 
Zoals je ziet staat er een recovery type snapshot, om deze weg te krijgen gebruik je het volgende commando:
 
Get-VMSnapshot -VMName (naam vm) | Remove-VMSnapshot
 
Je kunt nu binnen Hyper-v Manager zien dat er een merge in process is en check nadat deze klaar is of de disken netjes weer terug in 1 VHDX staan i.p.v. AVHDX.
 

 

donderdag 7 april 2016

Test-NetConnection

To check if a port is open without installing telnet ;-)
 
Test-NetConnection –Computername [computername] –Port [port]
 
 

GPO Back-up Script All

This Script makes a back-up of all GPO’s in your forest incl. child domains.
Make sure you have the folders in place and have enough admin rights! Als check the Environment settings for your own needs.
 
# --------------------------------------------------------------
# Script: Create_Backup_GPO_All_V2.ps1
# Author: Bart Michel
# Date: 06-04-2016
# This script makes a backup of all the GPO's in the domain
# --------------------------------------------------------------
 
#Environment settings
$Enddate = (Get-Date).tostring("ddMMyyyyHHmm")
$Destination = "C:\Scripts\Backup_GPO\GPO_Backup_$Enddate.zip"
$Source = "C:\Scripts\GPO"
$Backupfolder = "C:\Scripts\Backup_GPO\"
$BackupsToKeep = "10"
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays(-$BackupsToKeep)
$Extension = "*.zip"
$AllDomains = Get-ADDomain
$TLD = Enter your top level domain
 
# Backup All GPO's in the Domain
Backup-GPO -All -Domain $TLD -Path $Source
foreach($domain in $AllDomains.ChildDomains)
{
    Backup-GPO -All -Domain $domain -Path $Source -ErrorAction SilentlyContinue
}
 
# Create Zip file of all GPO's
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::CreateFromDirectory($Source, $Destination)
 
# Clean-up of Temp GPO folder and Backup dir
Get-ChildItem $Backupfolder -Include $Extension -recurse | Where-Object { $_.LastWriteTime -lt $DatetoDelete } | Remove-Item
Remove-Item C:\Scripts\GPO\* -recurse -Force
 

donderdag 14 januari 2016

Add DNS record with powershell

Add-DnsServerResourceRecordA -Name "TEST.TEST1.TEST1" -ZoneName "zone_name.local" -IPv4Address "10.0.0.1" -TimeToLive 00:15:00

This adds a A record in DNS under zone zone_name.local and the structure will be test.test1.test1.zone_name.local

Add-DnsServerResourceRecordCName -Name "TEST.TEST1.TEST1" -HostNameAlias "TEST.TEST1.TEST1" -ZoneName "zone_name" -TimeToLive 00:15:00

This adds a CNAME record in DNS under zone zone_name.local and the structure will be test.test1.test1.zone_name.local

Muliple Ip's on 1 interface register multiple DNS records

If you don’t want to register the extra ip addresses in DNS you simply can avoid this by adding the extra ip addresses with NETSH and the flag skipassource=true

netsh int ipv4 add address "Local Area Connection" address=10.0.0.1 mask=255.255.255.0 skipassource=true

donderdag 6 augustus 2015

Hyper-v / SCVMM Powershell commands

Enter maintenance mode van een Hyper-v node
Disable-SCVMHost -VMHost “VMHOST””  -MoveWithinCluster -RunAsynchronously
 
Stop maintenance mode:
param($VMHost)
Enable-SCVMHost -VMHost $VMHost -RunAsynchronously
 
Een VHDX disk aanmaken op het cluster
New-VHD -Path "C:\ClusterStorage\Volume1\DISK.vhdx" -Fixed -SizeBytes 25GB
 
Zien of er ISO’s zijn gemount op het cluster:
param([string] $VMMServer = $(throw “Please specify a VMM-Server to connect to.”))
Get-VirtualDVDDrive -All | Where-object {$_.ISO -ne $null} | select-object Name, ISO, ISOLinked | Sort-object -Property Name
 
ISO unmounten:
param([string] $VMServer = $(throw “Please specify a VM to dismount media from.”))
get-virtualDVDDrive -VM $VMServer | set-VirtualDVDDrive -NoMedia
 
Zien of er checkpoints zijn op het cluster:
Get-SCVMCheckpoint -VMMServer localhost
 
Checkpoint maken:
New-SCVMCheckpoint -VMVMName” -Name ”Naam checkpoint” -Description ”description”
 
Laatst aangemaakte checkpoint weggooien:
param([string] $VM = $(throw “Please specify a VM”))
$Checkpoint = Get-VMCheckpoint -VM $VM -MostRecent
Remove-SCVMCheckpoint -VMCheckpoint $Checkpoint -Confirm
 
Geheugen aanpassen van een VM:
param($VMachine, $MB)
$VM = Get-SCVirtualMachine -Name $VMachine
if($VM.Status -ne "PowerOff"){Stop-SCVirtualMachine -VM $VM}
Set-SCVirtualMachine -VM $VM -MemoryMB $MB
Start-SCVirtualMachine $VMachine
 
Processor aanpassen van een VM:
param($VMachine, $Proc)
$VM = Get-SCVirtualMachine -Name $VMachine
if($VM.Status -ne "PowerOff"){Stop-SCVirtualMachine -VM $VM}
Set-SCVirtualMachine -VM $VM -ProcessorCount $Proc
Start-SCVirtualMachine $VMachine
 
Shared VHDX toevoegen aan een VM:
Add-VMHardDiskDrive -VMName “VMname” -Path "C:\ClusterStorage\DISK.vhdx" -ShareVirtualDisk
 
Remove Shared disks van meerdere servers tegelijk:
##Run dit script op de Hyper-v node waar de VM op draait!
 
$Servers =@("server1","server2","server3")
foreach ($Vmname in $Servers)
{
    Add-VMHardDiskDrive -VMName $Vmname -Path "C:\ClusterStorage\Volume1\DISK1.vhdx" -ShareVirtualDisk
    Add-VMHardDiskDrive -VMName $VMname -Path "C:\ClusterStorage\Volume1\DISK2.vhdx" -ShareVirtualDisk
    Add-VMHardDiskDrive -VMName $VMname -Path "C:\ClusterStorage\Volume1\DISK3.vhdx " -ShareVirtualDisk
    Add-VMHardDiskDrive -VMName $VMname -Path "C:\ClusterStorage\Volume1\DISK4.vhdx " -ShareVirtualDisk
 
 
Remove Shared disks van meerdere servers tegelijk: (let op kijk van te voren welke controllernumber en controllerlocation de disk heeft!!)
##Run dit script op de Hyper-v node waar de VM op draait!
 
$Servers =@("server1","server2","server3")
foreach ($Vmname in $Servers)
{
    Remove-VMHardDiskDrive -VMName $Vmname  -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 2
    Remove-VMHardDiskDrive -VMName $Vmname  -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 3
    Remove-VMHardDiskDrive -VMName $Vmname  -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 4
    Remove-VMHardDiskDrive -VMName $Vmname  -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 5
 

donderdag 5 maart 2015

Dirsync / AAD sync naar office 365 doet het niet

Soms komt het voor dat de delta sync naar Office 365 middels dirsync/AAD sync niet goed loopt, je kunt dit controleren door Synchronisation Service Manager te starten:
C:\Program Files\Windows Azure Active Directory Sync\SYNCBUS\Synchronization Service\UIShell\ miisclient.exe
 
Je ziet dan dat hij blijft staan in “in progress” stop deze sync en doe het volgende:
In een elevated Powershell windows:
 
Import-module dirsync
Cd C:\Program Files\Windows Azure Active Directory Sync\DirSync
.\ImportModules.ps1
Start-OnlineCoexistenceSync –FullSync
 
Check nu of de Full wel synced zo ja dan kun je erna nog een delta starten door: om te zien of ook de delta weer werkt.
 
Start-OnlineCoexistenceSync