lunes, 2 de febrero de 2026

Device configuration profile policy appx package

 

Surprisingly, the Bing News application installed on Windows 11 is a way to bypass the internet browsing restrictions on a device with blocking and whitelist policies applied in Intune.

To address this, I wanted to apply the new “Device configuration profile” added in Intune to uninstall default built-in (APPX) applications. However, to my surprise, I found that this policy only applies during a device wipe, fresh start, etc. It does not remove applications once the device is already installed and in use.

To achieve this, I created a remediation script that uninstalls native APPX applications once they are detected.

1. Command that give us the name of the current appx apps in the computer: 

Get-AppxPackage -AllUsers | Format-List -Property Name
* -Allusers requires local admin rights.

2. Array with the name of the apps to remove: 

 Example:

        $PackagesToUninstall = @(

            "Microsoft.BingNews"
            "Microsoft.BingSearch"

        )

3. Detection Script:

$PackagesToUninstall  = @(
     "Microsoft.BingNews"
     "Microsoft.BingSearch"
    
)

$InstalledPackages = Get-AppxPackage -AllUsers | Where {($PackagesToUninstall -contains $_.Name)}

if ($InstalledPackages = $null){

    Exit 0

}else{

    Exit 1603

}
4. Remediation Script:
$PackagesToUninstall= @(
    "Microsoft.BingNews"
    "Microsoft.BingSearch"
    
)

$InstalledPackages = Get-AppxPackage -AllUsers | Where {($PackagesToUninstall -contains $_.Name)}

$ProvisionedPackages = Get-AppxProvisionedPackage -Online | Where {($PackagesToUninstall -contains $_.DisplayName)}

ForEach ($PPackage in $ProvisionedPackages) {

    Write-Host -Object "Removing the provisioned package: [$($PPackage.DisplayName)]..."

    Try {
        $Null = Remove-AppxProvisionedPackage -PackageName $PPackage.PackageName -Online -ErrorAction Stop
        Write-Host -Object "Successfully packaged removed: [$($PPackage.DisplayName)]"
    }
    Catch {Write-Warning -Message "Failed the package: [$($PPackage.DisplayName)]"}
}

ForEach ($AppPackage in $InstalledPackages) {
                                            
    Write-Host -Object "Removing Appx package: [$($AppPackage.Name)]..."

    Try {
        $Null = Remove-AppPackage -Package $AppPackage.PackageFullName -AllUsers -ErrorAction Stop
        Write-Host -Object "Successfully Appx package removed: [$($AppPackage.Name)]"
    }
    Catch {Write-Warning -Message "Failed the Appx package: [$($AppPackage.Name)]"}
}


martes, 23 de septiembre de 2025

"this setup requires the .NET Framework version 2.0" Intasll .NET Framework on Windows 11

 

  • Open a CMD with Admin rights 
  • Run the following command:

  • DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:C:sourcessxs

lunes, 16 de junio de 2025

Add entries to a hosts file by powershell

 The follow script tests and adds is it's needed a line to a local host files:

If ((Get-Content "$($env:windir)\system32\Drivers\etc\hosts" ) -notcontains "10.0.0.20 entry.domain.local")  

 {ac -Encoding UTF8  "$($env:windir)\system32\Drivers\etc\hosts" "10.0.0.20 entry.domain.local")   }

jueves, 23 de noviembre de 2023

Oneidentity Active Roles - Mover usuarios a localización correcta

 

Hola, 

Tras reducir al máximo y optimizar un workflow a través del cual, movemos usuarios a la OU correcta, partiendo de diferentes attributos, he dejado un proceso realmente limpio.

Los usuarios cuentan con información en los atributos siguientes:

  • PhysicalDeliveryOfficeName -lo que es lo mismo que el campo Oficina en la creación de usuarios en AD-
  • Utilizamos el atributo ExtensionAttribute1 para normalizar la familia del puesto de trabajo.
En próxima entrada os enseñaré como realizar el segundo puesto, ya que utilizo un archivo puente para asociar un buen número de empleos en una OU por ejemplo llamada Cocina u otra por ejemplo llamada Dirección.

Vale la pena indicar, que la creación de usuarios es automática mediante Active Roles Sync, proveniendo estos de una consulta SQL sobre la BD del software de recursos humanos, lo que nos lleva a crear, modificar y borrar usuarios usuarios diariamente tras detectar estos procesos en la BD.

Descripción

1. Primeramente, en este cliente hemos creado una estructura de localizaciones, cada una de ellas tiene una OU que coincide literalmente con el nombre del campo Oficina que tiene el usuario.

OU="Oficina de Alicante"   -  Usuario/atributo PhysicaldeliveryOfficeName/Oficina de Alicante

2. Seguidamente, los usuarios tienen en su atributo extensionattribute1, la familia del trabajo que desempeñan.

OU="Cocina" - Usuario/atributo ExtensionAttribute1/Cocina




3. Lo anteriormente explicado, nos permite saber que el usuario debe ir a 

OU=extensionattribute1,OU=PhysicaldeliveryofficeName,OU=Centros,OU=Usuarios,CN=dominio,CN=local

Ingenioso, ¿cierto?.

4. Lo siguiente es crear un Workflow, que se dispare, nada más se crea un usuario, o se le cambia uno de estas dos atributos, para recolocar al usuario.

    El Workflow tendrá un simple paso del tipo Move Object y en Destination Container, haremos la regla que veis en a captura, la cual generará un texto en la función rellenando los campos variables con el contenido del usuario.



viernes, 31 de marzo de 2023

Extraer Chats y contenido de Teams en auditoría.

 

Hola, 

Para extraer el contenido de chats de Teams de usuarios, tenéis que realizar los siguientes pasos:

1. Portal.office.com / Compliance / Búsqueda de contenido.


2. Crear nueva búsqueda




3. Activar Buzones de Exchange (Chat de Teams se almacena en el buzón de Exchange).

4. Usar la query: kind:im AND kind:microsoftteams y a ser posible reducir la búsqueda con condición de fecha.



Descargar el resultado.