domingo, 3 de febrero de 2019

Error en Azure Backup por tener discos Standard SSD

Hola

Si andáis necesitando hacer backup de Standard SSD disks en Azure. Tengo malas noticias para vosotros. No podemos realizar backup de máquinas virtuales con discos de este tipo asociados.

La solución pasa por convertirlos a Premium SSD Disk o actualizar vuestro Recovery Services Vault para realizar backup Stack 2, basado en salvado del disco tras realizar un snapshot del mismo. Por el momento no os recomiendo esta solución ya que a día de hoy, prácticamente todos los links de información del propio microsoft están "rotos" y no existe mucha información al respecto.

La solución que yo he ido adoptando es la convertir los discos a Premium y el script que utilizo es el siguiente:

* Adaptar a vuestro escenario solo las partes en rojo.

# Name of the resource group that contains the VM
$rgName = 'yourResourceGroup'

# Name of the your virtual machine
$vmName = 'yourVM'

# Choose between StandardLRS and PremiumLRS based on your scenario
$storageType = 'Premium_LRS'

# Premium capable size
# Required only if converting storage from standard to premium
$size = 'Standard_DS2_v2'

# Stop and deallocate the VM before changing the size
Stop-AzureRmVM -ResourceGroupName $rgName -Name $vmName -Force

$vm = Get-AzureRmVM -Name $vmName -resourceGroupName $rgName

# Change the VM size to a size that supports premium storage
# Skip this step if converting storage from premium to standard
$vm.HardwareProfile.VmSize = $size
Update-AzureRmVM -VM $vm -ResourceGroupName $rgName

# Get all disks in the resource group of the VM
$vmDisks = Get-AzureRmDisk -ResourceGroupName $rgName

# For disks that belong to the selected VM, convert to premium storage
foreach ($disk in $vmDisks)
{
    if ($disk.ManagedBy -eq $vm.Id)
    {
        $diskUpdateConfig = New-AzureRmDiskUpdateConfig –AccountType $storageType
        Update-AzureRmDisk -DiskUpdate $diskUpdateConfig -ResourceGroupName $rgName `
        -DiskName $disk.Name
    }
}

Start-AzureRmVM -ResourceGroupName $rgName -Name $vmName

lunes, 14 de enero de 2019

550 5.7.1 Unable to relay (Authenticated relay connector)

Hola,

Hoy me he peleado con un problema que hacía años no encontraba. Comparto mi experiencia dado que he encontrado en internet muchas soluciones que no terminan de aplicar.

Tras crear en un Exchange 2010 un conector de recepción con autenticación, que utilizaremos para los servicios multifunción del cliente, puedo realizar envíos internamente pero no hacía el exterior.


1. En primer lugar creé el conector, las opciones elegidas son:


  •  Elegir nombre por ejemplo voy a llamarle "RelayMultifuncion"
  •  Crear conector tipo "custom" o "personalizado.
  •  Elegir puerto 25 y en fqdn introducir el nombre del servidor. servidor.dominio.local
  •  Limitar las conexiones ip permitidas a la ip de los equipos que van a utilizar el relay.
  •  Nuevo conector. 


(Podéis seguir estas capturas hasta la imagen 9)

Tras esto fijaros que debéis tener la pestaña de authenticación, configurada de la siguiente manera, para solo permitir envíos con usuarios validados, en las ips autorizadas:


En la pestaña, "permission groups" debéis marcar la opción "Exchange users".

Con esto, tendréis todo listo para enviar mail desde esos equipos, pero solo a direcciones internas.


2. Ahora toca Permitir reenvió al exterior

Para permitir el reenvío al exterior, debéis seguir una de las siguientes opciones:

Powershell

Abrir Exchange management shell

Lanzar el comando, adaptando el campo -User con el nombre del usuario entre comillas: Get-ReceiveConnector “RelayMultifuncion” | Add-ADPermission -User “nt authority\anonymous logon” -ExtendedRights “ms-Exch-SMTP-Accept-Any-Recipient”


Vía consola

- Lanzar la consola adsiedit del sistema, normalmente encontrada en: %SystemRoot%\system32\adsiedit.msc

- Localizar el conector "Smtp Receive Connectors" que está en Configuration.Services.Microsoft Exchange

- Botón derecho sobre el cliente y click en propiedades

Solapa Security

Añadir al usuario que vais a utilizar para validar los envíos y dar permisos permitidos de de accept any sender.

Espero que os ayude.

lunes, 23 de julio de 2018

Remote Desktop Services Web Client


Hello.

Microsoft liberated Remote Desktop Services Web Client last week. This is the last improvement in the RDS roles and for me, it's a significative new feature because it offers us to consume an app or desktop from a client without Rdp or remote desktop app. What is the same, from a client with only a HTML 5 supported browser.

Before installing/adding this new feature you need to know:

- The RDS farm is not using Azure Application Proxy
- RD Gateway, RD Connection Broker and RD Web Access are in Windows Server 2016 or higher
- Kind of license are per User
- Have installed https://support.microsoft.com/en-us/help/4025334/windows-10-update-kb4025334  on the RD Gateway
- Public Certificates are installed.
- Microsoft says, Windows 10, 2008R2 or higher are only supported as client but I have this role used by my Mac OS High Sierra and others with Chrome.
- You have published this farm as wildcard or public valid certicates and the user experience connecting to the farm works without any advertisement. If there were a problem with internal certificates connecting from the Wan, you should review this post  https://ryanmangansitblog.com/2013/03/10/configuring-rds-2012-certificates-and-sso/ mainly this part: Set-RDSessionCollectionConfiguration –CollectionName QuickSessionCollection -CustomRdpProperty “use redirection server name:i:1 `n alternate full address:s:remote.domain.com”

Steps to install RDS Web Client

1. Export the current certificated that you are using in the RD Connection broker as .CER
1.1 MMC
1.2 Add Computer Certificates

2. Go to the RD Web Access Sever Or servers and get powershell as administrative elevated credentials.

3. Launch these Powershell commands:

    - Install-Module -Name PowerShellGet -Force
    - Shutdown -r -t 0  (Take care it'll restart the server)
    - Install-Module -Name RDWebClientManagement
    - Install-RDWebClientPackage
    - Import-RDWebClientBrokerCert x:\ExportedCertificatepath.cer  (Exported in the step 1)
    - Publish-RDWebClientPackage -Type Production -Latest  (Accept the appeared Warning)

You can access to this new feature by: https://server_FQDN/RDWeb/webclient/index.html

User Experience:














martes, 26 de junio de 2018

Azure - Adding a Public IP to an existing VM and publishing ports.


Hello,

In this post i'm going to show you how to create and associate a public ip to an existing Virtual Machine.

1. Firstable you have to look for "Public IP" Above in the Azure search option.


2. Then choose +Add in the Public Addresses option.


 3. Create a new IP choosing you custom options & click on Create


4. Go back to the search option above the portal and look for "Nic"


5. Choose doing click on the nic associated to the Virtual Machinne.


6. Go to  IP Configurations Option, do click.
7. Click on the Private IP Addresses 

 8. Click on the Enabled option over Public IP Addreses insomuch it should appears Disabled.


9. Choose the Public IP you created in the thirst step previously.

10. Click on Save



Publishing

1. Go to the VM Configuration you associated a public IP before.
2. Click on "add inbound port rule" in the security group options.


3. Create a public rule where you have to permit communications to the Public IP through the port needed by the service. 


jueves, 8 de febrero de 2018

Windows 10 – AppX Packages Can Break Sysprep

Hi.

I was suffering a problem using MDT trying to capture with sysprep the Windows 10 x86 1709 release. The log shows the error 0x3cf2 after launching sysprep /generalize.

Problem and solution appears here:  KB2769827  but this guy https://virtuallyinclined.com/2017/01/08/windows-10-appx-packages-can-break-sysprep/ and myself went from throwing lines after launching sysprep /generalize again and again.

 I'd appreciate your feedback and update if you would detect that I had to remove more apps after changing them in Windows 10, because I've seen that these are changing depending on the apps promoted by Microsoft in every period.

The second problem I've found is that the shawn's script is not updated for W10 v1709 so I updated this.

Finally the scripts are:

FIRST ONE:

Import-Module AppX
Import-Module Dism

#You may have to manually uninstall some Sponsored Apps from the Start Menu

#Microsoft Apps
Get-AppxPackage *Microsoft.3DBuilder* | Remove-AppxPackage
Get-AppxPackage *Microsoft.BingTranslator* | Remove-AppxPackage
Get-AppxPackage *Microsoft.FreshPaint* | Remove-AppxPackage
Get-AppxPackage *Microsoft.Getstarted* | Remove-AppxPackage
Get-AppxPackage *Microsoft.Messaging* | Remove-AppxPackage
Get-AppxPackage *Microsoft.MicrosoftOfficeHub* | Remove-AppxPackage
Get-AppxPackage *Microsoft.MicrosoftSolitaireCollection* | Remove-AppxPackage
Get-AppxPackage *Microsoft.NetworkSpeedTest* | Remove-AppxPackage
Get-AppxPackage *Microsoft.Office.OneNote* | Remove-AppxPackage
Get-AppxPackage *Microsoft.OneConnect* | Remove-AppxPackage
Get-AppxPackage *Microsoft.People* | Remove-AppxPackage
Get-AppxPackage *Microsoft.SkypeApp* | Remove-AppxPackage
Get-AppxPackage *Microsoft.MicrosoftStickyNotes* | Remove-AppxPackage
Get-AppxPackage *Microsoft.WindowsCalculator* | Remove-AppxPackage
Get-AppxPackage *microsoft.windowscommunicationsapps* | Remove-AppxPackage
Get-AppxPackage *Microsoft.WindowsFeedbackHub* | Remove-AppxPackage
Get-AppxPackage *Microsoft.WindowsMaps* | Remove-AppxPackage
Get-AppxPackage *Microsoft.XboxApp* | Remove-AppxPackage
Get-AppxPackage *Microsoft.XboxIdentityProvider* | Remove-AppxPackage
Get-AppxPackage *Microsoft.ZuneMusic* | Remove-AppxPackage
Get-AppxPackage *Microsoft.ZuneVideo* | Remove-AppxPackage
Get-AppxPackage *SpotifyAB.SpotifyMusic* | Remove-AppxPackage
Get-AppxPackage *Microsoft.bingnews* | Remove-AppxPackage
Get-AppxPackage *king.com.BubbleWitch3Saga* | Remove-AppxPackage
Get-AppxPackage *king.com.CandyCrushSodaSaga* | Remove-AppxPackage
Get-AppxPackage *A278AB0D.MarchofEmpires* | Remove-AppxPackage
Get-AppxPackage *A278AB0D.DisneyMagicKingdoms* | Remove-AppxPackage
Get-AppxPackage *DolbyLaboratories.DolbyAccess* | Remove-AppxPackage

#Sponsored Apps
Get-AppxPackage *Duolingo* | Remove-AppxPackage
Get-AppxPackage *EclipseManager* | Remove-AppxPackage
Get-AppxPackage *Flipboard* | Remove-AppxPackage
Get-AppxPackage *Wunderlist* | Remove-AppxPackage


AND THE SECOND ONE:

Import-Module AppX
Import-Module Dism

#You may have to manually uninstall some Sponsored Apps from the Start Menu

#Remove AppX Packages for non-business Apps
Get-AppxPackage *Microsoft.3DBuilder* | Remove-AppxPackage
Get-AppxPackage *Microsoft.Getstarted* | Remove-AppxPackage
Get-AppxPackage *Microsoft.Messaging* | Remove-AppxPackage
Get-AppxPackage *Microsoft.MicrosoftOfficeHub* | Remove-AppxPackage
Get-AppxPackage *Microsoft.MicrosoftSolitaireCollection* | Remove-AppxPackage
Get-AppxPackage *Microsoft.Office.OneNote* | Remove-AppxPackage
Get-AppxPackage *Microsoft.People* | Remove-AppxPackage
Get-AppxPackage *Microsoft.SkypeApp* | Remove-AppxPackage
Get-AppxPackage *microsoft.windowscommunicationsapps* | Remove-AppxPackage
Get-AppxPackage *Microsoft.WindowsFeedbackHub* | Remove-AppxPackage
Get-AppxPackage *Microsoft.XboxApp* | Remove-AppxPackage
Get-AppxPackage *Microsoft.XboxIdentityProvider* | Remove-AppxPackage
Get-AppxPackage *Microsoft.ZuneMusic* | Remove-AppxPackage
Get-AppxPackage *Microsoft.ZuneVideo* | Remove-AppxPackage

#Remove AppX Provisioning for non-business apps
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.3DBuilder" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.Getstarted" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.Messaging" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.MicrosoftOfficeHub" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.MicrosoftSolitaireCollection" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.Office.OneNote" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.People" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.SkypeApp" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "microsoft.windowscommunicationsapps" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.WindowsFeedbackHub" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.XboxApp" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.XboxIdentityProvider" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.ZuneMusic" | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | where Displayname -EQ "Microsoft.ZuneVideo" | Remove-AppxProvisionedPackage -Online

martes, 26 de diciembre de 2017

Console shows this error "requesturi is /veeamservice" when you try to connect to a veeam server

Hello.

After my investigation I didn't find in internet the solution to the problem named in the title of this article.

I found from veeam some information like this article: https://www.veeam.com/kb1756

As you are able to find in internet, this problem appears if the service is down but as I said it didn't work in my case because the services were working properly so i had to investigate more.

Finally the problem was related with the network. I had three nics in my server and Veeam worked fine when I re installed the server only with one Nic enabled and all others disabled. Maybe there is another article detailing the problem but while that, I wanted to share with you the solution I deduced after reading all others.

Cheers.




martes, 28 de marzo de 2017

Powershell script - Cambio de contraseña de administrador local 2/2

Siguiendo con la entrada anterior, publico a continuación el script que deberá ser lanzado vía sccm u otros, de forma local en los equipos por mediante un usuario que tenga permiso de acceso a los archivos que hemos generado con nuestro script que comento también en la entrada anterior.

Como comenté, el script modifica la contraseña del usuario con ID 0, el cual, ya que si fuésemos a buscar el usuario Administrador o Administrator, este podría haber sido nombrado y fallaríamos en nuestro intento.

Personalización:

El script requiere ser personalizado en la linea 1 y 2, donde pondremos la ruta correcta de los archivos.

Script:

$PasswordFile = "c:\temp\Password.txt"
$KeyFile = "c:\temp\AES.key"
$key = Get-Content $KeyFile
$pwd= get-content $passwordfile | Convertto-SecureString -Key $Key
$userlist = get-wmiobject win32_useraccount
$localadm=$userlist[0].caption.replace(“\”,”/”)
$objUser = [ADSI]"WinNT://$localadm, user"
$decodedpassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd))
$objUser.psbase.Invoke("SetPassword", $decodedpassword)
$objuser.psbase.CommitChanges()

Script Powershell para el cambio de contraseña local de usuario administrador 1/2

Hola.

Es común encontrar una gpo a través de la cual cambiamos la contraseña del usuario administrador local en los equipos de nuestro dominio, sin embargo, este proceso no es nada seguro y cualquier auditor de seguridad va directamente a por él, colocándonos un colorcito rojo en las cosas que tenemos que cambiar antes de la siguiente auditoría.

Pues bien, para ello he realizado dos scripts, este primero que os presento cifrará la contraseña que queremos poner y la guardará en un archivo txt de forma cifrada.

También tendremos un archivo que guardará la clave de cifrado que hemos usado para cifrar. Yo, lo que haría, sería ubicar ambos archivos en un carpeta de red compartida de forma oculta a la que sol tuviese acceso el usuario que vía sccm u otros, va a lanzar el proceso de cambio. Usuario que por supuesto, ha de pertencer al grupo builtin\administrators del dominio o ser administrador local de los equipos del parque por otras vías.

Cabe destacar que este script ha de ser lanzado por el personal de IT cada vez que queremos generar un archivo txt con una clave diferente, o mejor dicho, cada vez que queremos cambiar la clave de administrador de los equipos.

Personalización del script:

- Debéis modificar la linea 2 y linea 8 cambiando las rutas donde almacenar los archivos.

Contenido del script:

#generamos archivo .key
$KeyFile = "C:\Temp\AES.key"
$Key = New-Object Byte[] 16   # podemos usar 16, 24, or 32 for AES
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($Key)
$Key | out-file $KeyFile

#generamos archivo .txt y guardamos contraseña en él.
$PasswordFile = "c:\temp\Password.txt"
$Key = Get-Content $KeyFile
$Password = "Abcd123456" | ConvertTo-SecureString -AsPlainText -Force
$Password | ConvertFrom-SecureString -key $Key | Out-File $PasswordFile

lunes, 20 de febrero de 2017

Virtual shared disk en disco local


Hola.

Existe la posibilidad de montar un disco compartido entre varias VMS, ubicando ese disco en una unidad local del servidor.

Esta configuración no está soportada por Microsoft y al configurarla, por defecto aparece un error impidiendo esta configuración.

La formad de realizarlo es lanzando previamente este comando:

fltmc.exe attach svhdxflt Unidad:\


Este comando pierde su efectividad si se renombra el servidor, teniendo que volver a lanzarlo para poder arrancar las VMS.

Saludos.

miércoles, 28 de diciembre de 2016

MDT - Activación de S.O. Open or Mak

Hola.

En lo referido a la activación de sistemas operativos desplegados con MDT, cabe destacar las siguientes variables a incluir en customsettings.ini.

1.   Es importante tener la entrada: SkipProductKey=YES  *

2.   Si hablamos de activación OPEN, tendremos que usar posteriormente la clave: ProductKey= XXXX-XXXXX-...

3.  Si hablamos de activación MAK, tendremos que usar posteriormente al paso 1 la clave: OverrideProductKeay=XXXXX-XXXXX-...


*Esto incluirá esta clave en el unattend.xml.

Saludos.

GPOs de usuario no se aplican desde las últimas actualizaciones de servidores


Hola.

En concreto, seguro que estáis teniendo problemas en cuanto la aplicación de GPOs desde Junio, mes en el que se aplicó la actualización: MS16-072.

Problema

El problema, aunque es mas bien un cambio decidido en MSFT, afecta a GPOs en las que se ha eliminado el grupo "Usuarios autenticados" buscando que la GPO solo aplique a un grupo de usuarios concreto. Algo comunmente utilizado en las empresas para la distribución de configuraciones específicas, unidades de red, impresoras, etc.

Si no tenéis la configuración que aparece en la siguiente captura  y habéis añadido un grupo de usuarios en sustitución a Authenticated Users, podemos asegurar que vuestras GPOS no se están aplicando.



¿Cómo identificar y encontrar GPOs que no se están aplicando?

Análisis posible 1
Podéis utilizar el típico gpresult /h new-report.html y ver qué GPOs devuelven un “Reason Denied: Inaccessible, Empty or Disabled”

Análisis posible 2
para tener una lista de GPOs ilegibles por los usuarios.

Solución 1

Como solución y aunque tengáis a un grupo concreto con permiso de "Read" y permiso de "Apply group Policy" pasa por añadir también al grupo "Authenticated Users" solo con permiso de "Read". Esto permitirá que la aplicación de la GPO seguirá siendo selectiva y única para el grupo concreto y no se aplicará a todos los usuarios del dominio.

Solución 2 (La mas aconsejada).

Para solucionar esta incidencia, debes añadir el grupo "Domain Computers" con permiso de "Read".  Por distintas razones, esta solución es la mas aconsejada.

Fuente:
https://support.microsoft.com/en-us/kb/3163622

miércoles, 7 de diciembre de 2016

Segundo Webcast de la serie sobre Azure

Hola.

Os dejo el link del segundo Webcast de la serie sobre Azure. En este WEbcast, David Carrasco y yo, hablamos sobre Máquinas virtuales.

Haga clic aquí para unirse al seminario web.


Saludos.

jueves, 1 de diciembre de 2016

Getting GPOS and GPO Links

Hello.

This script creates a txt file with the next information:

- GPOName
- LinksTo
- Enabled
- NoOverride
- CreatedDate
- ModifiedDate


Script:

$names=get-gpo -all
        $output= foreach ($name in $names) {
            get-gpolink -name $name.DisplayName
            }
         $output | out-file C:\temp\GpoandLinks.txt



martes, 29 de noviembre de 2016

Webcast sobre máquinas virtuales en Azure

Hola.

Este próximo Viernes, realizaremos el segundo Webcast de la serie sobre Azure.

Aquí os dejo el link.

Saludos.

Primer Webcast de la serie sobre Azure

Hola.

El pasado Viernes, David Carrasco y yo realizamos el primer Webcast sobre Azure de una serie de ellos que estamos haciendo para Microsoft.

Aquí tenéis el enlace de la grabación del primer webcast:

https://t.co/EoDK4avAL1

Saludos.