当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Mini Hyper-V:操作系统

作者:精品下载站 日期:2024-12-14 07:39:33 浏览:14 分类:玩电脑

Mini Hyper-V:操作系统


当我们离开我的项目时,新的迷你服务器已使用 Windows Hyper-V Server 2012 R2 启动。这是一个仅运行 Hyper-V 的服务器核心安装,非常适合我的需求。服务器使用临时名称和 DHCP 分配的 IP 地址启动。下一步是配置服务器并将其加入我的测试域。

我可以使用 sconfig 脚本以交互方式完成这一切,但这其中的挑战在哪里!因此,我将从目标域中安装了 RSAT 的 Windows 8 客户端配置服务器。有多种方法可以在工作组环境中配置 Hyper-V,但我想利用域。它实际上应该没有任何区别,但我的测试域 Globomantics.local 正在我的 Windows 8 笔记本电脑上的 Hyper-V 环境中运行。我的迷你 Hyper-V 服务器将属于该域,它最终托管的任何虚拟机也将属于该域。

首先,我知道新服务器的 IP 地址和本地管理员帐户的凭据。这样我就可以使用 PowerShell 远程处理,因为它在 Windows Server 2012 中默认启用。但是,在我的客户端上,我需要将主机临时添加到 TrustedHosts 列表中。否则,客户端将不信任服务器,我将无法连接。在提升的位置我将运行此命令。

set-item WSMan:\localhost\Client\TrustedHosts -Value 172.16.* -Force

使用 -Force 会抑制确认提示。此设置将允许我使用以 172.16 开头的 IP 地址连接到任何主机。我现在应该能够使用 Invoke-Command 或运行任何配置工作流程。事实上,我将使用一些基本的工作流程来设置计算机名称和 IP 配置。首先,我将验证远程连接。

PS C:\Windows\system32> test-wsman 172.16.10.122
wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 0.0.0 SP: 0.0 Stack: 3.0

看起来不错。接下来,我将定义一些用于我的工作流程的 PowerShell 变量。

$oldIP="172.16.10.122"
$newIP="172.16.30.212"
$NewServerName = "CHI-HVR2"
$domaincredential=Get-Credential "globomantics\administrator"
$remotecredential=Get-Credential "$oldIP\administrator"

我想要运行的第一个工作流程将执行一些基本配置。

Workflow Set-StandardConfig {

Write-Verbose -Message "Running parallel tasks"

 Parallel {
     #these are relatively simple tasks that can run simultaneously
     #create folders
     New-Item -Path C:\Scripts -ItemType Directory
     New-Item -Path C:\Work -ItemType Directory

     #add features
     Add-WindowsFeature -Name Windows-Server-Backup

     #set execution policy
     Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force

     #set the time zone
     TZUTIL /s "Eastern Standard Time"

 } #parallel

} #end workflow

一旦此工作流程加载到我的会话中,我就可以运行它并配置新服务器。

Set-StandardConfig -PSComputerName $oldIP -PSCredential $remotecredential

接下来,我要配置IP配置。新服务器只有一个网卡,这大大简化了事情。这是我将要使用的工作流程。

WorkFlow Set-IPConfiguration {

Param(
[string]$NewName,
[string]$IPAddress,
[int]$Prefix=16,
[string]$Gateway,
[string[]]$DNSServers
)

Write-Verbose -Message "Starting $($workflowcommandname)"

#set IP Address
#assumes a single NIC

$nic = Get-NetAdapter

#set DNS
Write-Verbose -Message "Configuring DNS"
$nic | Set-DnsClientServerAddress -ServerAddresses $DNSServers

#configure network connection profile
Write-Verbose -Message "Configuring network connection profile"
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

Write-Verbose -Message "Configuring adapter"
if ($Gateway) {
    $nic | New-NetIPAddress -IPAddress $IPAddress -PrefixLength $Prefix  -AddressFamily IPv4  -DefaultGateway $Gateway
}
else {
    $nic | New-NetIPAddress -IPAddress $IPAddress -PrefixLength $Prefix  -AddressFamily IPv4
}

#let the workflow end since we will lose connectivity

} #end workflow

为了执行,我将向它添加一个参数哈希表。

$ipParams=@{
IPAddress= $newIP
Gateway= "172.16.10.254"
DNSServers= "172.16.30.200","172.16.30.203"
PSComputerName= $oldIP
PSCredential= $remotecredential
Verbose= $True
}

Set-IPConfiguration @ipParams

这里需要注意的是,当您更改 IP 地址时,您将失去与远程计算机的连接。 PowerShell 将不断重试。我可能应该做的是包含一些参数来限制重试次数。最终,该命令将超时,我可以继续。

接下来,我想重命名计算机并将其加入域。

WorkFlow Set-DomainConfig {

Param(
[string]$NewName,
[string]$Domain='globomantics.local',
[PSCredential]$Admin,
[string]$OU="OU=Servers,DC=globomantics,DC=local"

)

Write-Verbose -Message "Adding computer to $OU"
Add-Computer -DomainName $domain -OUPath $OU -Credential $Admin -NewName $NewName -Force

Restart-Computer -Wait -Force

#verify
Get-CimInstance -ClassName Win32_ComputerSystem

} #end workflow

再次,我将生成一个参数哈希表,这次连接到新的 IP 地址。

$domainParams=@{
NewName= $NewServerName
Admin= $DomainCredential
PSComputerName= $newIP
PSCredential= $remotecredential
Verbose= $True
}

Set-DomainConfig @domainParams

最终计算机将重新启动,我将得到积极的结果。

[玩转系统] Mini Hyper-V:操作系统

出色的。现在服务器已重新启动,它属于该域,我可以使用新名称来验证一些事情。

$cs = New-CimSession -ComputerName "chi-hvr2.globomantics.local"
Get-NetAdapter -CimSession $cs  | Get-NetIPAddress

[玩转系统] Mini Hyper-V:操作系统

我使用新服务器的 FQDN 作为 CIMSession 名称,因为我无法使 NETBIOS 名称正常工作。可能是因为我没有等待足够长的时间来更新浏览器统计信息。不管怎样,它可以工作,而且我还可以验证 Hyper-V 是否正在工作。

Get-VMHost -ComputerName "chi-hvr2.globomantics.local" | select *

[玩转系统] Mini Hyper-V:操作系统

我应该做的最后一件事是删除客户端上的受信任主机设置。但因为我信任我的网络,而且我可能需要再次这样做,所以我想我现在就放弃它。但我做到了!我现在有一个 Hyper-V 服务器可供我使用。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯