Archivo de la categoría: Windows

Add AD to Existent Domain – Powershell

To Add a Write Controller to an existing Domain, first add Domain Services

Add-WindowsFeature AD-Domain-Services

Then install Role:

Install-ADDSDomainController -CreateDnsDelegation:$false -DatabasePath 'D:\Windows\NTDS' -DomainName 'MyExistentDomain.local' -InstallDns:$true -LogPath 'D:\Windows\NTDS' -NoGlobalCatalog:$false -SiteName 'MySite' -SysvolPath 'D:\Windows\SYSVOL' -NoRebootOnCompletion:$true -Force:$true -Credential (Get-Credential MyExistentDomain\AdminUser)

 

Thanks to Mike Robbins http://mikefrobbins.com/2013/03/14/use-powershell-to-add-an-additional-domain-controller-to-an-existing-windows-server-2012-active-directory-domain/

Anuncios

Enable RDP Powershell Windows 2016

Only is needed three comands to enable RDP in powershell

New-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Value 0 -PropertyType dword -Force

To Enable RDP

 

New-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name 'UserAuthentication' -Value 1 -PropertyType dword -Force

 

To Enable NLA

 

Enable-NetFirewallRule -DisplayGroup 'Remote Desktop'

 

To Enable on Firewall

 

 

 

 

How to configure iLO from command line (HPe)

Si nos encontramos que tenemos que reconfigurar la IP de la placa ILO (OOB para HP) y no tenemos acceso desde esa LAN por algun motivo, podemos:

Teniendo instalado “HP Lights-Out Online” incluído en el “Service Pack for ProLiant”

 

Goto C:\Program Files\HP\hponcfg> or %ProgramFile%\HP\hponcfg

 

Then type:

hponcfg /w ilo.xml

this dumps iLO configuration into ilo.xml file

<RIBCL VERSION=”2.0″>
<LOGIN USER_LOGIN=”user” PASSWORD=”password”>
<RIB_INFO MODE=”WRITE” >
<MOD_NETWORK_SETTINGS>
<IP_ADDRESS VALUE = “x.x.x.x”/>
<SUBNET_MASK VALUE = “x.x.x.x”/>
<GATEWAY_IP_ADDRESS VALUE = “x.x.x.x”/>
<PRIM_DNS_SERVER value = “x.x.x.x”/>
<DHCP_ENABLE VALUE = “N”/>
</MOD_NETWORK_SETTINGS>
</RIB_INFO>
</LOGIN>
</RIBCL>

NOTE: The USER_LOGIN and PASSWORD tags are required, and must contain data, although any data is accepted.

 

Change IP related values and:

hponcfg /f ilo.xml

this writes new configuration back to the iLO and voilá.

 

Based on  Scripting Toolkit for Windows – Using HPONCFG also available on Linux.

 

Thanks to https://srvops.wordpress.com/2012/02/13/how-to-configure-ilo-from-command-line/

 

After installing Hyper-V Integration Services on the next reboot the VM displays BSOD 0x0000007B – P2V Hyper-V Guest BSOD 0x0000007e wdfldr.sys

After a P2V from an old server a BSOD was showing. I see same error related to WDFLDR.SYS.

Solution:

  1. Boot the VM into LastKnownGood. Press F8 during boot.
  2. Open the Registry and drill down to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Wdf01000 There is a Group Value that should have the Value WdfLoadGroup. In my cases it was wrongly set to base… Change this to WdfLoadGroup
  3. Then remove the Integration Components from Control Panel/Software.
  4. Reboot the VM (now without ICs)
  5. Install the ICs once again

Thanks to robertvi2 from https://blogs.msdn.microsoft.com/robertvi/2009/10/07/after-installing-hyper-v-integration-services-on-the-next-reboot-the-vm-displays-bsod-0x0000007b/ to help to resolve this.

Enable/Disable Network interface via command line

Start elevated Command Prompt.

Get NIC list and index number:

wmic nic get name, index

Enable NIC with index number: (eg: 7)

wmic path win32_networkadapter where index=7 call enable

Disable NIC with index number: (eg: 7)

wmic path win32_networkadapter where index=7 call disable

Thanks To EddieZA from https://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/enabledisable-network-interface-via-command-line/17a21634-c5dd-4038-bc0a-d739209f5081

Optimizar SSD

Usar Manager de Disco del Fabricante

 

Desactivar la hibernación

Powercfg /H OFF

 

Desactivar Superfetch

net stop superfetch

superfetch

Poner en Disabled

Deshabilitar la caché de escritura 

Desde Device Management

 cachewritedisk

Desactivar el indexado de la unidad

 driveindex

Desactivar el desfragmentador de disco

Verificar TRIM

fsutil behavior query DisableDeleteNotify 

fsutil behavior set DisableDeleteNotify 0

 

Enable DIPM for SSD

Navigate to “HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\0b2d69d7-a2a1-449c-9680-f91c70521c60”

Change value “Attributes” to 2.

Choose HIPM+DIPM on our power Plan

 

Get-SCVMMInventory – Get Inventory of all VM’s in SCVMM 2012 R2

Credits are from https://vniklas.djungeln.se/2013/09/29/ Niklas AkerlundGet an inventory of all VM’s from System Center Virtual Machine Manager including the vCPU’s, memory, all VHD´s, IP addresses.  Report to CSV and HTML. Adapted to work with last actuallly SCVMM version 3.2.8224

__________________________

Créditos son de Niklas AkerlundGet https://vniklas.djungeln.se/2013/09/29/

Exportar un inventario de todas las VM’s es SCVMM. Se exporta a CSV y HTML, compatible con la última version 3.2.8224.

Example:

Get-SCVMInventory -report

Give a reports for “All Hosts”

Get-SCVMInventory -VMHost SERVER01

Give data from SERVER01 Hyper-v Host.

Publicado también en https://gallery.technet.microsoft.com/scriptcenter/Get-SCVMMInventory-Get-053afdc1

<# 
.Synopsis 
   this function gives you an invetory of the SCVMM  
.DESCRIPTION 
   either you can get just the object for each server or also a csv and html report 
.EXAMPLE 
   Get-SCVMInventory -report 
.EXAMPLE 
   Get-SCVMInventory -VMHost hyp05 
.NOTES 
   Niklas Akerlund 2013-09-29 
   Adapted by Martin Rojas 2016/11/08 to version 3.2.8224.0 
#> 
function Get-SCVMInventory 
{ 
    [CmdletBinding()] 
 
    Param 
    ( 
 
        $VMHostGroup = "All Hosts", 
        [Parameter(ValueFromPipeline=$True)][Alias('ClusterName')] 
        $VMHostCluster = $null, 
        $VMHost = $null, 
        [switch]$report, 
        [string]$path =".\", 
        [string]$CSVFile = "VMdata.csv", 
        [string]$HTMLReport = "VMdata.html" 
    ) 
 
    Begin 
    { 
        if(!(Get-Module virtualmachinemanager)){ 
            Import-Module Hyper-V 
            Import-Module virtualmachinemanager 
        } 
        if(Get-SCVMMServer localhost | where ProductVersion -match 3){ 
            $isR2 = $true 
        }else{ 
            $isR2 = $false 
        } 
    } 
    Process 
    { 
         if ($VMHostCluster -eq $null){ 
            if($VMHost -eq $null){ 
                $VMHosts = (Get-SCVMHostGroup -Name $VMhostGroup).AllChildHosts 
            }else{ 
                $VMHosts = Get-SCVMHost $VMHost 
            } 
         }else{ 
            $VMHosts = (Get-SCVMHostCluster -Name $VMHostCluster).Nodes 
         } 
            $VMs = $VMHosts | Get-SCVirtualMachine 
            $reportArray = @() 
            foreach ($VM in $VMs){ 
                Write-Verbose $VM.Name 
                    $vNics = $VM.VirtualNetworkAdapters 
                    $VHDConf = $VM.VirtualHardDisks 
                    $driveConf = $VM.VirtualDiskDrives 
                    if(($vNics[0].IPv4Addresses -ne $null)){ 
                        Write-Verbose $vNics[0].IPv4Addresses[0] 
                        $IPAddress1 = $vNics[0].IPv4Addresses[0] 
 
                    }else{ 
                        if (!$isR2){ 
                            if(($vNics[0].IPv4Addresses -ne $null)){ 
                            $IPAddress1= (Hyper-V\Get-VMNetworkAdapter -ComputerName $VM.HostName -VMName $VM.Name).IPv4Addresses[0] 
                            }else{ 
                                $IPAddress1 = "N/A" 
                            } 
                        }else{ 
                            Write-Verbose "NO IP" 
                            $IPAddress1 = "N/A" 
                        } 
                    } 
                    if($VM.VMCheckpoints){ 
                    $Snapshots = "Yes" 
                    }else{ 
                    $Snapshots = "No" 
                    } 
 
                    $data = [ordered]@{ 
                    VMName = $VM.Name 
                    vCPUs = $VM.CPUCount 
                     
                    MemoryAssignedMB = $VM.MemoryAssignedMB 
                    Status = $VM.Status 
                    OperatingSystem = $VM.OperatingSystem 
                    HostName = $VM.HostName 
                     TotalSizeGB = $VM.TotalSize/1GB -as [int] 
                    vNics = $vNics.Count                                                          
                    VirtualNetwork1 = $vNics[0].VirtualNetwork 
                    MacAddressType1 = $vNics[0].MacAddressType 
                    MacAddress1 = $vNics[0].MacAddress 
                    VirtualNetworkAdapterType1 = $vNics[0].VirtualNetworkAdapterType 
                    VLANEnabled1 = $vNics[0].VlanEnabled 
                    VLanID1 = $vNics[0].VlanID  
                    IPAddress1 = $IPAddress1 
 
                    NumberofVHD = $VHDConf.Count 
                    VHDName = $VHDConf[0].Name 
                    VHDFormatType = $VHDconf[0].VHDFormatType 
                    VHDSize = $VHDconf[0].MaximumSize/1GB -as [int] 
                    VHDCurrentSize = $VHDconf[0].Size/1GB -as [int] 
                    VHDBusType = $driveConf[0].BusType 
                    VHDBus = $driveConf[0].Bus 
                    VHDLUN = $DriveConf[0].Lun 
                    VHDDatastore = $VHDconf[0].Directory 
 
                    VHDName2 = $VHDConf[1].Name 
                    VHDFormatType2 = $VHDconf[1].VHDFormatType 
                    VHDSize2 = $VHDconf[1].MaximumSize/1GB -as [int] 
                    VHDCurrentSize2 = $VHDconf[1].Size/1GB -as [int] 
                    VHDBusType2 = $driveConf[1].BusType 
                    VHDBus2 = $driveConf[1].Bus 
                    VHDLUN2 = $DriveConf[1].Lun 
                    VHDDatastore2 = $VHDconf[1].Directory 
 
                    VHDName3 = $VHDConf[2].Name 
                    VHDFormatType3 = $VHDconf[2].VHDFormatType 
                    VHDSize3 = $VHDconf[2].MaximumSize/1GB -as [int] 
                    VHDCurrentSize3 = $VHDconf[2].Size/1GB -as [int] 
                    VHDBusType3 = $driveConf[2].BusType 
                    VHDBus3 = $driveConf[2].Bus 
                    VHDLUN3 = $DriveConf[2].Lun 
                    VHDDatastore3 = $VHDconf[2].Directory 
                    StartMemoryGB = $VM.Memory/1024 
                    DynamicMemory = $VM.DynamicMemoryEnabled 
                    DynamicMemoryDemandMB = $VM.DynamicMemoryDemandMB 
                    DynamicMemoryStatus = $VM.DynamicMemoryStatus -as [int] 
                    DynamicMemoryMinMB = $VM.DynamicMemoryMinimumMB -as [int] 
                    DynamicMemoryMaxGB = $VM.DynamicMemoryMaximumMB/1024 -as [int] 
                    HasSnaphots = $Snapshots 
                    Owner = $VM.Owner 
                    Cloud = $VM.Cloud 
                    CreationTime = $VM.CreationTime 
                    HasVMAdditions = $VM.HasVMAdditions 
                    VMAddition = $VM.VMAddition 
                    
            } 
            $obj= New-Object -TypeName PSObject -property $data 
            $reportArray +=$obj  
            Write-Output $obj 
            } 
 
            if($report){ 
                # $reportArray 
                $CSVReport = $path + $CSVFile 
                $HTMLReport = $path + $HTMLReport 
                $reportArray | Export-Csv -Path $CSVReport -NoTypeInformation -UseCulture 
                $reportArray | ConvertTo-HTML | Out-File $HTMLReport 
            } 
    } 
    End 
    { 
        # Should we clean anything? 
    } 
}