Microsoft Hyper-V Server 2016 Core mit Corefig GUI


Die kostenlose CORE Version kommt ohne GUI. Die freeware Corefig stellt ein auf der PowerShell basierendes GUI für einfache Verwaltungsaufgaben bereit.
Corefig besteht aus mehreren, einzelnen PowerShell Skripten. Entwickelt für den Server 2012 Core, scheint aber auch auf dem 2016 Core zu funktionieren.

  • Corefig als ZIP-Datei downloaden.
  • Ordner C:\Corefig auf dem Server erstellen und den Inhalt der ZIP-Datei dorthin entpacken.

Corefig wird über die Kommandozeile gestartet.

# mit cscript
cd c:\corefig
cscript Start_corefig.wsf

# mit powershell
cd c:\corefig
powershell .\Corefig.ps1

Da ich aber auch gerne ein paar weitere nützliche Tools direkt über die GUI starten möchte, muß das Menü ein wenig modifiziert werden.

Meine Tools-Sammlung lege ich z.B. unter c:\tools ab. 3 Dateien müssen angepasst werden.

c:\corefig\Corefig.ps1
c:\corefig\Corefig.psd1
c:\corefig\en-US\Corefig.psd1

Das Menü Tools erweitern. (Corefig.ps1)

#~~< menuSystem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuSystem = New-Object System.Windows.Forms.ToolStripMenuItem
$menuSystem.Size = New-Object System.Drawing.Size(179, 22)
$menuSystem.Text = $CoreStrings.SysInfo
$menuSystem.add_Click({MenuSystem($menuSystem)})
#
# das Menü Tools um Einträge erweitern
#
#~~< menuDummy1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuDummy1 = New-Object System.Windows.Forms.ToolStripMenuItem
$menuDummy1.Size = New-Object System.Drawing.Size(179, 22)
$menuDummy1.Text = $CoreStrings.Dummy1
$menuDummy1.add_Click({MenuDummy1($menuDummy1)})
#~~< menuDummy2 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuDummy2 = New-Object System.Windows.Forms.ToolStripMenuItem
$menuDummy2.Size = New-Object System.Drawing.Size(179, 22)
$menuDummy2.Text = $CoreStrings.Dummy2
$menuDummy2.add_Click({MenuDummy1($menuDummy2)})
$ToolsToolStripMenuItem.DropDownItems.AddRange([System.Windows.Forms.ToolStripItem[]](@($menuCMD, $menuTaskMgr, $menuRegistry, $menuSystem, $menuDummy1, $menuDummy2)))
#
# vor dem Ende fügen wir die Programmpfade für die Menüfunktion ein
#
function Global:MenuDummy1
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\tools\dummy1tool.exe"
 $Shell.Run($Temp)
}

function Global:MenuDummy2
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\tools\dummy2tool.exe"
 $Shell.Run($Temp)
}

Main | Out-Null

#endregion

Ein Menü Extras hinzufügen. (Corefig.ps1)

#~~< AboutToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$AboutToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem
$AboutToolStripMenuItem.Size = New-Object System.Drawing.Size(297, 22)
$AboutToolStripMenuItem.Text = $CoreStrings.About
$AboutToolStripMenuItem.add_Click({MenuAbout($AboutToolStripMenuItem)})
#
# ein Menü Extras hinzufügen
#
#~~< ExtrasToolStripMenuItem >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ExtrasToolStripMenuItem = New-Object System.Windows.Forms.ToolStripMenuItem
$ExtrasToolStripMenuItem.Size = New-Object System.Drawing.Size(41, 19)
$ExtrasToolStripMenuItem.Text = $CoreStrings.Extras
#~~< menuExplorer >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuExplorer = New-Object System.Windows.Forms.ToolStripMenuItem
$menuExplorer.Size = New-Object System.Drawing.Size(152, 22)
$menuExplorer.Text = $CoreStrings.Explorer
$menuExplorer.add_Click({MenuExplorer($menuExplorer)})
#~~< menuQDir >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuQDir = New-Object System.Windows.Forms.ToolStripMenuItem
$menuQDir.Size = New-Object System.Drawing.Size(152, 22)
$menuQDir.Text = $CoreStrings.QDir
$menuQDir.add_Click({MenuQDir($menuQDir)})
#~~< menuProcessExplorer >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuProcessExplorer = New-Object System.Windows.Forms.ToolStripMenuItem
$menuProcessExplorer.Size = New-Object System.Drawing.Size(352, 22)
$menuProcessExplorer.Text = $CoreStrings.ProcessExplorer
$menuProcessExplorer.add_Click({MenuProcessExplorer($menuProcessExplorer)})
#~~< menuNotepad2 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuNotepad2 = New-Object System.Windows.Forms.ToolStripMenuItem
$menuNotepad2.Size = New-Object System.Drawing.Size(352, 22)
$menuNotepad2.Text = $CoreStrings.Notepad2
$menuNotepad2.add_Click({MenuNotepad2($menuNotepad2)})
#~~< menuNotepad++ >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$menuNotepadpp = New-Object System.Windows.Forms.ToolStripMenuItem
$menuNotepadpp.Size = New-Object System.Drawing.Size(352, 22)
$menuNotepadpp.Text = $CoreStrings.Notepadpp
$menuNotepadpp.add_Click({MenuNotepadpp($menuNotepadpp)})
$ExtrasToolStripMenuItem.DropDownItems.AddRange([System.Windows.Forms.ToolStripItem[]](@($menuExplorer, $menuQDir, $menuProcessExplorer, $menuNotepad2, $menuNotepadpp)))
$HelpLogsStripMenuItem.DropDownItems.AddRange([System.Windows.Forms.ToolStripItem[]](@($AboutToolStripMenuItem)))
$MenuStrip1.Items.AddRange([System.Windows.Forms.ToolStripItem[]](@($ToolsToolStripMenuItem, $LogsToolStripMenuItem, $ExtrasToolStripMenuItem, $HelpLogsStripMenuItem)))
#
# vor dem Ende fügen wir die Programmpfade für die Menüfunktion ein
#
function Global:MenuExplorer
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\corefig\extras\explorer++.exe"
 $Shell.Run($Temp)
}

function Global:MenuQDir
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\tools\Q-Dir\Q-DirPortable.exe"
 $Shell.Run($Temp)
}

function Global:MenuProcessExplorer
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\tools\processexplorer\procexp64.exe"
 $Shell.Run($Temp)
}

function Global:MenuNotepad2
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\tools\notepad2\notepad2.exe"
 $Shell.Run($Temp)
}

function Global:MenuNotepadpp
{
 $Shell = New-Object -Comobject("WScript.Shell")
 $Temp = "c:\tools\notepadpp\notepad++.exe"
 $Shell.Run($Temp)
}

Main | Out-Null

#endregion

Für die Einträge (Sprachdateien) im Menü, sind die beiden Corefig.psd1 Dateien zuständig. (Corefig.psd1)

# culture=“en-US”
ConvertFrom-StringData @'
	AppName = Corefig 1.1.2
	Tools = Tools
        --- SNIP ---
	Extras = Extras
	Explorer = Explorer++
	ProcessExplorer = Process Explorer
	QDir = Q-Dir
	Notepad2 = Notepad2
	Notepadpp = Notepad++
	Dummy1 = Dummy 1
	Dummy2 = Dummy 2
'@

Nützliches Tool für die einfache Verwaltung und Konfiguration unseres Servers.

Die 3 Beispieldateien können unter downloads heruntergeladen werden.

Schreibe einen Kommentar