Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explica cómo usar el registro de reserva del dispositivo para exportar y enviar registros a Microsoft cuando las máquinas virtuales locales de Azure funcionan en modo desconectado. Este proceso le ayuda a solucionar problemas cuando la recopilación de registros estándar no está disponible.
Acerca del registro de respaldo
Utilice el registro alternativo del dispositivo para recopilar y enviar registros a Microsoft cuando la máquina virtual (VM) del dispositivo de operaciones de Azure Local desconectado esté fuera de servicio. Use este método si la recopilación de registros estándar no se puede iniciar y necesita registros para solucionar problemas.
Aquí se muestra un diagrama que ofrece una visión general a alto nivel del proceso de recopilación de registros de respaldo del dispositivo.
Prerrequisitos
Para usar los cmdlets de este artículo, importe el módulo de registro del dispositivo.
Importación del registro del dispositivo
Para importar el registro del dispositivo, ejecute el siguiente comando:
Import-Module "<disconnected operations module folder path>" -Force
Exportación de registros a través de Copy-DiagnosticData
Para exportar registros en el escenario de contingencia, use el Copy-DiagnosticData cmdlet.
comando Copy-DiagnosticData
El comando Copy-DiagnosticData se usa para copiar registros de diagnóstico de discos duros virtuales montados (VHD) en una carpeta especificada. Este comando forma parte del módulo de operaciones y le ayuda a recopilar datos de diagnóstico de un VHD de volumen de registro para su análisis.
El escenario de registro de reserva se utiliza cuando la máquina virtual local en Azure no puede ejecutar operaciones desconectadas o cuando un endpoint de administración no funciona. Este cmdlet cierra la máquina virtual. Para obtener los registros, monte y desbloquee los discos duros virtuales, luego copie los registros de los VHD montados en una carpeta local LogsToExport dentro de la carpeta que especifique con DiagnosticLogPath. Puede establecer la ventana de tiempo y los roles para recopilar. Si establece el Observability Stamp ID, el cmdlet lo incluye en los resultados devueltos.
Asegúrese de que esta ubicación tiene suficiente espacio para los registros porque la máquina virtual local de Azure que ejecuta discos duros virtuales desconectados se monta temporalmente durante la acción de copia.
Use estos parámetros con el Copy-DiagnosticData cmdlet .
DiagnosticLogPath: obligatorio. La ruta de acceso de destino contiene registros copiados y discos duros virtuales montados temporalmente.
FilterRoles: los roles necesarios para la recopilación o el diagnóstico de registros pueden variar en función del escenario. Use el
Get-Helpcmdlet o trabaje con el contacto de soporte técnico para determinar los roles adecuados que se van a incluir.FromDate y ToDate: opcional. Horas de inicio y finalización de los registros incluidos en la colección. Se excluyen los registros antes de FromDate y después de ToDate. De forma predeterminada, los registros de las últimas cuatro horas de la hora actual se recopilan si no proporciona estos parámetros.
RecoveryKeySet (BitLocker): opcional. RecoveryKeySet tiene pares relevantes de ProtectorId y RecoveryPassword para volúmenes cifrados de BitLocker usados para la recuperación de la recopilación de registros. Si no se proporcionan claves de recuperación, se requiere la entrada manual de las claves durante el proceso de montaje.
Nota:
El conjunto de claves de recuperación de BitLocker es necesario para desbloquear los VHD montados usados para la recopilación de registros. Obtenga y guarde estas claves después de implementar la aplicación mediante el punto de conexión BitlockerRecoveryKeys.
Ejemplo:
# Replace with your actual values $certPasswordPlainText = "***" $certPassword = ConvertTo-SecureString $certPasswordPlainText -AsPlainText -Force $context = Set-DisconnectedOperationsClientContext -ManagementEndpointClientCertificatePath "<Management Endpoint Client Cert Path>" -ManagementEndpointClientCertificatePassword $certPassword -ManagementEndpointIpAddress "<Management Endpoint IP address>" $recoveryKeys = Get-ApplianceBitlockerRecoveryKeys $context # context can be omitted if context is set. $recoveryKeysEjemplo de resultado:
PS G:\azurelocal> $recoveryKeys = Get-ApplianceBitlockerRecoveryKeys $context # context can be omitted if context is set. >> >> $recoverykeys.recoveryKeySet | ConvertTo-JSON > c:\recoveryKeySet.json >> >> Get-content c:\recoveryKeySet.json >> VERBOSE: [2025-08-05 23:10:58Z][Get-ApplianceBitlockerRecoveryKeys] [START] Get bitlocker recovery keys. VERBOSE: [2025-08-05 23:10:58Z][Invoke-ScriptsWithRetry][Get-ApplianceBitlockerRecoveryKeys] Executing 'Script Block' with timeout 300 seconds ... VERBOSE: [2025-08-05 23:10:58Z][Invoke-ScriptsWithRetry][Get-ApplianceBitlockerRecoveryKeys] [CHECK][Attempt 0] for task 'Script Block' ... VERBOSE: [2025-08-05 23:10:58Z][Invoke-ScriptsWithRetry][Get-ApplianceBitlockerRecoveryKeys] Task 'Script Block' succeeded. VERBOSE: [2025-08-05 23:10:58Z][Get-ApplianceBitlockerRecoveryKeys] [END] Get bitlocker recovery keys. [ { "protectorid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", "recoverypassword": "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx" }, { "protectorid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", "recoverypassword": "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx" }, { "protectorid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", "recoverypassword": "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx" }, { "protectorid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", "recoverypassword": "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx" }, { "protectorid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", "recoverypassword": "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx" }, { "protectorid": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}", "recoverypassword": "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx" } ]Para crear manualmente un parámetro RecoveryKeySet, use esta plantilla:
# Replace with your actual values $recoveryKeySet = @( [PSCustomObject]@{protectorid = "{<Protector Id>}"; recoverypassword = "<Recovery password>"})
Copia desde la máquina virtual del dispositivo local de Azure para operaciones desconectadas
Estos son algunos ejemplos de cómo usar el Copy-DiagnosticData cmdlet para obtener registros de la máquina virtual del dispositivo de operaciones desconectado local de Azure.
Copia registros de datos de diagnóstico para determinados roles
Para copiar registros de datos de diagnóstico para roles específicos, ejecute estos comandos:
# Replace with your actual values
Import-Module "<disconnected operations module folder path>" -Force
Copy-DiagnosticData -DiagnosticLogPath "C:/path/to/copied_logs_parent_directory" -FilterRoles @("Agents", "Oplets", "ServiceFabric")
Copia registros de datos de diagnóstico para roles y intervalos de tiempo específicos
Para copiar registros de datos de diagnóstico para roles específicos con intervalos de tiempo y claves de recuperación, si se proporciona, ejecute estos comandos:
# Replace with your actual values
Import-Module "<disconnected operations module folder path>" -Force
$diagnosticLogPath = "C:\path\to\LogsToExport"
$roles = @("Agents", "Oplets", "ServiceFabric")
$fromDate = [datetime]"03/13/2024 12:00:00"
$toDate = [datetime]"03/13/2024 15:00:00"
$recoveryKeySet = @()
Copy-DiagnosticData -DiagnosticLogPath $diagnosticLogPath -FilterRoles $roles -FromDate $fromDate -ToDate $toDate -RecoveryKeySet $recoveryKeySet
Ejemplo de resultado:
PS C:\Users\administrator.s46r2004\Documents> Copy-DiagnosticData -DiagnosticLogPath $diagnosticLogPath -RecoveryKeySet $recoveryKeySet
VERBOSE: [2025-03-26 22:10:58Z] [Get-ValidCollectionWindow] $ToDate not provided, set to: 03/26/2025 22:10:58 (current time)
VERBOSE: [2025-03-26 22:10:58Z] [Get-ValidCollectionWindow] #FromDate not provided, set to: 03/26/2025 18:10:58 (4hr collection window)
VERBOSE: [2025-03-26 22:10:58Z] [Copy-DiagnosticData] Collecting logs for range: '03/26/2025 18:10:58' - '03/26/2025 22:10:58'
VERBOSE: [2025-03-26 22:10:58Z] [Copy-DiagnosticData] Collecting logs for FilterRoles: 'Agents', 'Oplets', 'MASLogs', 'ServiceFabric', 'ArcADiagnostics', 'Observability', 'WindowsEventLogs'
VERBOSE: [2025-03-26 22:10:59Z] [Invoke-StopIRVMAndMountVHDs] Stopping the IRVM...
VERBOSE: [2025-03-26 22:11:55Z] [Invoke-StopIRVMAndMountVHDs] Attempting to mount VHD 'C:\ClusterStorage\UserStorage_1\InfraVms\IRVM01\Virtual Hard Disks\OSAndDocker_A.vhdx'...
Ejemplo de la salida de Copy-DiagnosticData:
| DiagnosticLogPath | StampId |
| --------------------------------------------------------| -----------------------------------------|
| C:\CopyLogs_20240501T1525097418\LogsToExport | <Stamp ID> |
Nota:
La máquina virtual del dispositivo de operaciones desconectada de Azure Local se reinicia una vez finalizada esta operación.
Copie los registros de datos de diagnóstico a una ruta de acceso del directorio específica
Para copiar registros de datos de diagnóstico en una ruta de acceso de directorio específica, ejecute estos comandos:
# Replace with your actual values
Import-Module "<disconnected operations module folder path>" -Force
Copy-DiagnosticData -DiagnosticLogPath "C:/path/to/copied_logs_parent_directory"
Contenido relacionado
Esta característica solo está disponible en Azure Local 2602 o posterior.