我在 10.0.0.0 网络中有一台 hp DL380 G7。当我通过 VPN 进入网络时,我的 PC 在 10.0.8.0 网络中被分配了一个 IP。我无法从此网络 ping 我的 iLO 接口。但是我可以从 10.0.0.0 网络中的另一台机器上 ping 它。
我可以在哪里更改配置以便可以访问 10.0.0.0 网络之外的 iLO?我检查了我的防火墙,它允许从 10.0.8.0 到 10.0.0.0 的所有流量。
我在 10.0.0.0 网络中有一台 hp DL380 G7。当我通过 VPN 进入网络时,我的 PC 在 10.0.8.0 网络中被分配了一个 IP。我无法从此网络 ping 我的 iLO 接口。但是我可以从 10.0.0.0 网络中的另一台机器上 ping 它。
我可以在哪里更改配置以便可以访问 10.0.0.0 网络之外的 iLO?我检查了我的防火墙,它允许从 10.0.8.0 到 10.0.0.0 的所有流量。
我正在尝试将 Windows Server 2016 VM 加入BORON
到具有 Windows 2012 R2 域控制器的域。DC 名称是SNOWDROP.DUCK.LOC
当我尝试加入时出现此错误:
The operation failed because SPN value provided for addition/modification is not unique forest-wide.
!?
我试图在域控制器上使用此命令找出原因:
Get-ADComputer -Filter {serviceprincipalname -like "*boron*"} | select *
DistinguishedName : CN=SNOWDROP,OU=Domain Controllers,DC=duck,DC=loc
DNSHostName : snowdrop.duck.loc
Enabled : True
Name : SNOWDROP
ObjectClass : computer
ObjectGUID : 2b5d6206-707a-4f09-835b-2d8222474e4d
SamAccountName : SNOWDROP$
SID : S-1-5-21-1075642099-280362434-2919291742-1001
UserPrincipalName :
PropertyNames : {DistinguishedName, DNSHostName, Enabled, Name...}
AddedProperties : {}
RemovedProperties : {}
ModifiedProperties : {}
PropertyCount : 9
我不确定还有什么可以尝试的,有什么想法吗?
我已经在 中创建了一个Computer
帐户OU=AutoCreatedVMs,OU=Computer
。我已允许 AD 组Join-Move-Delete VMs
在 OU AutoCreatedVMs 中创建/删除计算机对象:
我有一个名为的帐户svc_jenkins
并将其设为 AD Group 的成员Join-Move-Delete VMs
。
以以下身份登录时,我无法从该 OU 中删除虚拟机svc_jenkins
:
PS C:\> gci env:username
Name Value
---- -----
USERNAME svc_jenkins
PS C:\> Get-ADComputer test
DistinguishedName : CN=test,OU=AutoCreatedVMs,OU=Computer,DC=duck,DC=loc
DNSHostName :
Enabled : True
Name : test
ObjectClass : computer
ObjectGUID : 7dd3b09a-d079-467a-b69f-90a2e30c363d
SamAccountName : TEST$
SID : S-1-5-21-1075642099-280362434-2919291742-3630
UserPrincipalName :
PS C:\> Get-ADComputer test|Remove-ADComputer -Confirm:$False
Remove-ADComputer : Access is denied
At line:1 char:21
+ Get-ADComputer test|Remove-ADComputer -Confirm:$False
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (CN=test,OU=Auto...,DC=duck,DC=loc:ADComputer) [Remove-ADComputer], Un
authorizedAccessException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.UnauthorizedAccessException,Microsoft.ActiveDirectory.Manag
ement.Commands.RemoveADComputer
任何想法我做错了什么?域控制器是 Windows Server 2012 R2。
更新我在 20 分钟后再次尝试,它成功了。其他一切都没有改变。
我创建了一个自动构建脚本来在 Hyper-V 2016 上构建新的虚拟机。我有时需要一个 2008 R2 虚拟机,我获取 IP 地址以连接到我的 2012 R2/2016 虚拟机的方法是使用一些 powershell,例如:
get-vm -Name $VMName|Get-VMNetworkAdapter|Select-Object -ExpandProperty IpAddresses
适用于 2012/2016,但返回一个带有 2008 R2 VM 的空数组。关于如何使用 Powershell 从 Hyper-V 获取 IP 地址的任何想法?该脚本从 Windows 10 工作站运行。
编辑
我尝试get-vm -name $VMName|Get-WmiObject -Class Win32_NetworkAdapterConfiguration
作为测试并在大量适配器输出后得到了这个:
Get-WmiObject :输入对象不能绑定到命令的任何参数,因为命令不接受管道输入,或者输入及其属性与接受管道输入的任何参数都不匹配。
解决方案
这就是我最终做的事情:
$VMName = <the name of my vm>
Invoke-Command -Session $VMHostSession -ScriptBlock {
$Vm = Get-WmiObject -Namespace root\virtualization\v2 -Query "Select * From Msvm_ComputerSystem Where ElementName='$using:VMName'";
$vm.GetRelated("Msvm_KvpExchangeComponent").GuestIntrinsicExchangeItems | % { `
$GuestExchangeItemXml = ([XML]$_).SelectSingleNode("/INSTANCE/PROPERTY[@NAME='Name']/VALUE[child::text()='NetworkAddressIPv4']");
if ($GuestExchangeItemXml -ne $null)
{
$GuestExchangeItemXml.SelectSingleNode("/INSTANCE/PROPERTY[@NAME='Data']/VALUE/child::text()").Value;
}
}
}
我正在 Powershell 中创建一个自动构建过程,并且需要构建一个具有静态 IP 地址的 VM。VM 由脚本构建并分配了一个 DHCP IP 地址。我可以查询 Hyper-V 主机以获取新创建的 VM 的 IP 地址,Get-NetAdapter
以便我可以使用Invoke-Command -ComputerName <ip_address>
. 到目前为止一切都很好。然后,我的 powershell 脚本中的下一行更改了远程 VM 的 IP 地址,New-NetIPAddress
但Invoke-Command
cmdlet 会在 4 分钟后超时。
我的问题是,有没有更好的方法来远程更改 IP?我可以设置一个超时并以某种方式优雅地处理它吗?目前它在那里停留了 4 分钟,然后出现连接错误。
编辑:如果我按照 Gerald 的建议更改作业中的 IpAddress,我将如何将参数传递给作业?我当前更改 IP 的代码如下所示:
Invoke-Command -ComputerName $TempIpAddress -Credential $cred -scriptblock {param ($IpAddress, $DefaultGateway) Get-NetIpAddress | Where-Object {$_.InterfaceAlias -match "Ethernet" -and $_.AddressFamily -eq "IPv4"} | New-NetIPAddress –IPAddress $IpAddress –PrefixLength 24 -DefaultGateway $DefaultGateway} -ArgumentList $NewIpAddress, $DefaultGateway
EDIT2:我试过这个,工作被创建但没有做任何事情。当我跑步时,Get-Job
什么都没有返回。
Invoke-Command -ComputerName $TempIpAddress -Credential $cred -scriptblock {Start-Job -ScriptBlock {param ($IpAddress, $DefaultGateway) Get-NetIpAddress | Where-Object {$_.InterfaceAlias -match "Ethernet" -and $_.AddressFamily -eq "IPv4"} | New-NetIPAddress –IPAddress $IpAddress –PrefixLength 24 -DefaultGateway $DefaultGateway} -ArgumentList $NewIpAddress, $DefaultGateway}
我一直在尝试使用模块xHyper-V从我的 Windows 10 工作站在我的 Hyper-V 2016 主机上创建一个虚拟机,但并没有太多乐趣。
我的 Hyper-V 主机名为 Lithium,我的 DSC 脚本如下。
Configuration EndToEndXHyperV_RunningVM
{
param
(
[string[]]$NodeName = 'lithium',
[Parameter(Mandatory)]
[string]$VMName,
[Parameter(Mandatory)]
[string]$StartupMemory,
[Parameter(Mandatory)]
[string]$MinimumMemory,
[Parameter(Mandatory)]
[string]$MaximumMemory,
[Parameter(Mandatory)]
[String]$SwitchName,
[Parameter(Mandatory)]
[Uint32]$ProcessorCount,
[ValidateSet('Off','Paused','Running')]
[String]$State = 'Off',
[Switch]$WaitForIP
)
Import-DscResource –ModuleName 'PSDesiredStateConfiguration'
Import-DscResource -module xHyper-V
Node $NodeName
{
$NewSystemVHDPath = "\\lithium\VHDs-SSD\$($VMName)-System.vhdx"
# Copy VHD File - hard coded to Windows 2016 Core Eval for now
File SystemDisk {
SourcePath = "\\lithium\Templates\Windows 2016 Core Template\System.vhdx"
DestinationPath = $NewSystemVHDPath
Type = "File"
Ensure = "Present"
}
# create the generation 2 testVM out of the vhd.
xVMHyperV NewVM
{
Ensure = 'Present'
Name = $VMName
VhdPath = $NewSystemVHDPath
SwitchName = $SwitchName
State = $State
Path = $Path
Generation = 2
StartupMemory = $StartupMemory
MinimumMemory = $MinimumMemory
MaximumMemory = $MaximumMemory
ProcessorCount = $ProcessorCount
RestartIfNeeded = $true
WaitForIP = $WaitForIP
DependsOn = "[File]SystemDisk"
}
}
}
我已授予机器帐户对共享的访问权限,并且文件副本工作正常,但添加虚拟硬盘时出现错误。有任何想法吗?
PS C:\Repos\Infrastructure\DSC> Start-DscConfiguration -Path .\EndToEndXHyperV_RunningVM -Wait -Verbose -Force
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namesp
aceName' = root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer COWSLIP with user sid S-1-5-21-1075642099-280362434-2919291742-1105.
VERBOSE: [LITHIUM]: LCM: [ Start Set ]
VERBOSE: [LITHIUM]: LCM: [ Start Resource ] [[File]SystemDisk]
VERBOSE: [LITHIUM]: LCM: [ Start Test ] [[File]SystemDisk]
VERBOSE: [LITHIUM]: [[File]SystemDisk] The system cannot find the file specified.
VERBOSE: [LITHIUM]: [[File]SystemDisk] The related file/directory is: \\lithium\VHDs-SSD\test-System.vhdx.
VERBOSE: [LITHIUM]: [[File]SystemDisk] Building file list from cache.
VERBOSE: [LITHIUM]: LCM: [ End Test ] [[File]SystemDisk] in 0.0510 seconds.
VERBOSE: [LITHIUM]: LCM: [ Start Set ] [[File]SystemDisk]
VERBOSE: [LITHIUM]: [[File]SystemDisk] The system cannot find the file specified.
VERBOSE: [LITHIUM]: [[File]SystemDisk] The related file/directory is: \\lithium\VHDs-SSD\test-System.vhdx.
VERBOSE: [LITHIUM]: [[File]SystemDisk] Building file list from cache.
VERBOSE: [LITHIUM]: [[File]SystemDisk] Copying file \\lithium\Templates\Windows 2016 Core Template\System.vhdx to \\lithium\VHDs-SSD\test-Sy
stem.vhdx.
VERBOSE: [LITHIUM]: LCM: [ End Set ] [[File]SystemDisk] in 17.2540 seconds.
VERBOSE: [LITHIUM]: LCM: [ End Resource ] [[File]SystemDisk]
VERBOSE: [LITHIUM]: LCM: [ Start Resource ] [[xVMHyperV]NewVM]
VERBOSE: [LITHIUM]: LCM: [ Start Test ] [[xVMHyperV]NewVM]
VERBOSE: [LITHIUM]: LCM: [ End Test ] [[xVMHyperV]NewVM] in 1.0200 seconds.
VERBOSE: [LITHIUM]: LCM: [ Start Set ] [[xVMHyperV]NewVM]
VERBOSE: [LITHIUM]: [[xVMHyperV]NewVM] Checking if VM 'test' exists ...
VERBOSE: [LITHIUM]: [[xVMHyperV]NewVM] VM 'test' does not exist.
VERBOSE: [LITHIUM]: [[xVMHyperV]NewVM] Creating VM 'test' ...
Failed to add device 'Virtual Hard Disk'.
The Machine Account 'DUCK\LITHIUM$' or the user initiating the VM management operation or both do not have the required access to the file share
'\\lithium\VHDs-SSD\test-System.vhdx'. Please ensure that the computer machine account and the user initiating the VM management operation have full access to the
file share as well as the file system folder backing the file share. Error: 'General access denied error'
'test' failed to add device 'Virtual Hard Disk'. (Virtual machine ID 4DE01C38-E027-4366-B56A-85B527BB34CB)
'test': The Machine Account 'DUCK\LITHIUM$' or the user initiating the VM management operation or both do not have the required access to the file share
'\\lithium\VHDs-SSD\test-System.vhdx'. Please ensure that the computer machine account and the user initiating the VM management operation have full access to the
file share as well as the file system folder backing the file share. Error: 'General access denied error' (0x80070005). (Virtual machine ID
4DE01C38-E027-4366-B56A-85B527BB34CB)
+ CategoryInfo : PermissionDenied: (:) [], CimException
+ FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.NewVM
+ PSComputerName : lithium
我想为概念验证模拟一个体系结构,并且需要将一个卷从一个 Windows Server 2012 R2 同步复制到另一个。任何人都可以建议一种(理想情况下免费)在实验室环境中执行此操作的方法吗?
我只是想在“适当的”配备 SAN 的环境中尝试之前模拟一些想法。
我的 Hyper-V 2012 R2 Core 服务器中有两个驱动器。C 驱动器是引导驱动器,C:\RAID 是 RAID 阵列的挂载点。我想将 C:\RAID 更改为 D:
我应该在更改挂载点之前还是之后在 powershell 中更新我的配置和存储路径?最好的方法是什么?
在我使用的服务器上创建了一个新共享,我们需要找出创建它的人和时间。有没有办法找出来?它是 Windows Server 2003 SP2。
我有一个 evt 格式的 Windows 2003 安全日志文件。我需要按 EventID 540 过滤日志并从中生成唯一用户列表。我正在使用 Windows 7 机器来执行此操作。关于最佳方式的任何想法?
编辑
这个脚本为我做了
$ErrorActionPreference= 'silentlycontinue'
$users = @()
Get-WinEvent -FilterHashtable @{Path="C:\TEMP\LogonLogoffEvents.evtx";ProviderName="security";id=540} | foreach {
$sid = $_.userid;
if($sid -eq $null) { return; }
$objSID = New-Object System.Security.Principal.SecurityIdentifier($sid);
$objUser = $objSID.Translate([System.Security.Principal.NTAccount]);
if ($users -NotContains $objUser.Value) {
$users += $objUser.Value
$objUser.Value >> "C:\temp\users.txt"
}
}
我正在尝试使用以下内容以易于阅读的格式输出 AD 组的成员:
dsquery group -name "<AD GROUP NAME>" | dsget group -members -expand | dsget user -samid -fn -ln
如果我只是这样做,dsquery group -name "<AD GROUP NAME>" | dsget group -members -expand
我可以看到一些帐户CN=ForeignSecurityPrincipals
- 我如何从输出中排除这些帐户?
我有兴趣购买一些 6.4 TB Fusion IO SX300卡。它们将在 Windows Server 中格式化为 NTFS 64 Kb 群集大小。我的问题是,一旦驱动器被格式化为顶部的文件系统,实际可用空间是多少?有没有人有这些并为 Windows Server 格式化了它们?
我有一个带有以下磁盘的 Hyper-V Core Server 2012 R2:
Disk 0: SSD C:\SSD (mount point to Disk 1)
Disk 1: HDD C:\ (boot drive)
Disk 2: RAID-5 (not mounted)
Disk 3: RAID-0 (not mounted)
我想清理磁盘 2 并创建一个新分区。我做了以下事情:
C:\Users\mark>diskpart
Microsoft DiskPart version 6.3.9600
Copyright (C) 1999-2013 Microsoft Corporation.
On computer: LITHIUM
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 111 GB 0 B
Disk 1 Online 232 GB 0 B
Disk 2 Online 10 TB 1936 GB
Disk 3 Online 3724 GB 0 B *
DISKPART> sel disk 2
Disk 2 is now the selected disk.
DISKPART> clean
Virtual Disk Service error:
Clean is not allowed on the disk containing the current boot,
system, pagefile, crashdump or hibernation volume.
DISKPART>
我不明白我得到的错误。如何确定我从哪个磁盘启动?如果有帮助,这里是磁盘管理:
我在 WORKGROUP 中有一个 VMWare ESXi 5.5 服务器和一个 Hyper-V 2012 R2 Core 服务器(称为 Lithium)。我的 Windows 8.1 机器在同一个 WORKGROUP 中。我正在尝试使用 Microsoft Virtual Machine Converter (MVMC) 将 VM 从 ESXi 主机转换为 Hyper-V 主机。
我希望目标是 Hyper-V 主机上名为 \Lithium\Machines 的共享。我已测试我的帐户已从我的工作站向此共享写入许可,但我在 MVMC 中收到此错误
我在 Hyper-V 主机上使用此命令创建了共享:
PS C:\Users\mark> new-smbshare -Name Machines -Path "C:\Users\Public\Documents\H
yper-V\Virtual Hard Disks" -FullAccess LITHIUM\Mark, LITHIUM\Administrator
它创建得很好:
PS C:\Users\mark> get-smbshare -name machines | ft -auto
Name ScopeName Path Descrip
tion
---- --------- ---- -------
Machines * C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
有什么想法有什么问题吗?
我有 System Center Orchestrator 2012 R2,我想通过调用 Web 服务在 Runbook 服务器上启动一个 Runbook。如果我像这样浏览协调器控制台,它可以正常工作:http://orchestratorserver.my.domain:82
当我第一次浏览它时,系统会提示我输入我的域凭据,然后才会加载 Orchestrator 控制台页面。
如果我调用这个PowerShell 脚本,我会收到以下错误,我想知道它是否与凭据提示有关?Orchestrator Runbook 服务器或我从中调用的主机上没有防火墙。
Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (405) Method Not Allowed."
我有一个名为cox.win.testlab
. 我已经设置了一组主机,我想在其中使用 gMSA(组托管服务帐户)。这个组被称为SQLManagedHosts
。
我在域控制器上的 Powershell 中按照以下步骤创建了该帐户:
PS C:\Windows\system32> Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
Guid
----
9b68b1e7-db76-c4e4-4978-63c2965e5596
PS C:\Windows\system32> New-ADServiceAccount mSQL -DNSHostName cox.win.testlab -PrincipalsAllowedToRetrieveManagedPassword SQLManagedHosts
PS C:\Windows\system32> Get-ADServiceAccount msql
DistinguishedName : CN=mSQL,CN=Managed Service Accounts,DC=win,DC=testlab
Enabled : True
Name : mSQL
ObjectClass : msDS-GroupManagedServiceAccount
ObjectGUID : cf9df74a-38e0-4d7a-856e-9af882b08800
SamAccountName : mSQL$
SID : S-1-5-21-3443997112-87545443-1733229669-1602
UserPrincipalName :
在 SQLManagedHosts 中列出的主机之一上,我运行了:
PS C:\Windows\system32> Install-ADServiceAccount msql
Install-ADServiceAccount : Cannot install service account. Error Message: 'An unspecified error has occurred'.
At line:1 char:1
+ Install-ADServiceAccount msql
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (mSQL:String) [Install-ADServiceAccount], ADException
+ FullyQualifiedErrorId : InstallADServiceAccount:PerformOperation:InstallServiceAcccountFailure,Microsoft.ActiveDirectory.Management.Commands.InstallADServiceAccount
任何想法为什么它可能会失败?涉及的所有服务器都是 Windows Server 2012 R2。
我想使用 Powershell 增加 Windows 应用程序日志的大小并打算使用Limit-EventLog
. 我必须保留至少 7 天的日志并拥有足够的磁盘空间(至少达到 4GB 的限制)。我的问题是如果我运行这样的命令:
Limit-EventLog -LogName "Application" -MaximumSize 4092MB -RetentionDays 7 -OverflowAction "OverwriteOlder"
如果事件日志中有超过 7 天的事件,并且有大量可用空间,Windows 是保留最旧的记录,还是开始覆盖超过 7 天的事件?如果我已达到 7 天的保留期,我不想不必要地增加日志。
我不确定这两个参数如何协同工作,并且文档不够明确。
我有一个 ESXi 5.5 盒子。我已经使用 VMware 好几年了,它一直坚如磐石。但是,我今天遇到了几次崩溃。我正在构建大量虚拟机并使用数据库执行大量 I/O,并且我有四个粉红色的屏幕。这里以一个为例。关于如何排除故障的任何想法?我应该只获取最新版本吗?我正在使用 1331820。
我有一个实验室,使用 Windows Server 2008 R2 作为win.testlab
具有 IP 地址的域的域控制器10.0.1.1
。我有几个 Windows Server 2012 VM 在同一个子网中连接到该域,没有任何问题。Windows 防火墙已关闭。网络是10.0.1.0/24
。
我在网络上有一台使用 IP 地址10.0.2.0/24
调用的 Windows Server 2012 机器,我想将它加入域。我可以毫无问题地 ping 域控制器,并且当我运行时,我会收到一个回复,显示 DC 上的共享。一切看起来都不错。LIME
10.0.2.2
win.testlab
net view \\10.0.1.1
现在,当我尝试使用它的 NETBIOS 名称加入WIN
域时,它会失败,但如果我加入win.testlab
它会成功。这是否表明子网之间的路由器有问题?你知道吗?它没有引起任何问题,但它让我怀疑路由器配置错误。