Como habilitar o BitLocker no sistema de plataforma de nuvem (CPS)

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3078425
Sumário
Este artigo explica como habilitar BitLocker ® fornecer dados de criptografia restante no sistema de plataforma de nuvem para Microsoft (CPS).
Mais Informações
Sistema de plataforma de nuvem Microsoft aproveita a capacidade do Windows Server 2012 para criptografar Volumes de Cluster compartilhado (CSV) usando o BitLocker ®. Este artigo explica como habilitar o BitLocker. Ele também fornece os scripts para automatizar o processo.

Observação: O BitLocker deve ser ativado mais cedo possível no ciclo de vida do CPS porque o processo gera tempo de inatividade significativo. Ou seja, você deve desativar todos os VMs de inquilinos e todos os gerenciamento de VMs (exceto VMs AD/DC) para habilitar o BitLocker.

Siga estas etapas cuidadosamente. Não fazer isso pode resultar na corrupção de dados e o tempo de inatividade estendida.
  1. Ativar o recurso BitLocker Drive Encryption em cada nó do cluster de armazenamento

    1.1 copie o seguinte código e salve-o como Enable-BitLockerFeature.ps1 emMinhapasta> no Console do VM:

     <#################################################### ## Copyright (c) Microsoft. All rights reserved. ## ###################################################><#.SYNOPSISInstall BitLocker Drive Encryption feature on each of the storage cluster nodes.DESCRIPTIONInstall BitLocker Drive Encryption feature on each node of the storage cluster. THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANYIMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.#> Param([Parameter (Mandatory = $true)] [string] $storageClusterName )$clusterNodes =Invoke-Command -ComputerName $storageClusterName {Get-ClusterNode}if($clusterNodes -eq $null){$errorMessageForUser = "Failed while retrieving the nodes of the storage cluster $storageClusterName"throw $errorMessageForUser }foreach ($node in $clusterNodes.Name){Write-Verbose "Installing BitLocker feature on node $node..."$BitlockerStatus = Invoke-Command -ComputerName $node {Add-WindowsFeature Bitlocker -Verbose}if(($BitlockerStatus -eq $null) -or (!$BitlockerStatus.Success)){$errorMessageForUser = "Add-WindowsFeature failed on node $node. Please try to install the feature on this node manually and then rerun this script to continue with the installation on the other nodes. "throw $errorMessageForUser}if($BitlockerStatus.RestartNeeded -eq "Yes"){Write-Verbose "Restarting Node $node..."Restart-Computer -ComputerName $BitlockerStatus.PSComputerName -waitWrite-Verbose "Node $node restarted."}}$installedCounter=0foreach ($node in $clusterNodes.Name){$featureState = Invoke-Command -ComputerName $node {Get-WindowsFeature "bitlocker"}if($featureState -eq $null){$errorMessageForUser = "Could not verify that BitLocker feature is correctly installed on storage node $node. Please connect to the node and run 'Get-WindowsFeature bitlocker' to verify the correct installation."Write-Warning $errorMessageForUser}if ($featureState.InstallState -eq "Installed"){$installedCounter++}}if($installedCounter -eq $clusterNodes.Count){Write-Verbose "BitLocker feature is now installed on all the nodes of the storage cluster"}else{Write-Error "BitLocker feature was not properly installed on all the nodes of the storage cluster"}

    1.2 no console do VM, abra um console PowerShell com direitos de administrador, vá paraMinhapasta> e, em seguida, digite o seguinte:
    ./Enable-BitLockerFeature.ps1 -storageClusterName <yourStorageCluster> -verbose
    O script irá iterar em todos os nós do cluster de armazenamento e instalar o BitLocker. Os nós serão reinicializados durante o processo.

    1.3 depois que o script termina sendo executado com êxito, vá para a etapa 2.

  2. Criar um GPO para a recuperação do BitLocker no Active Directory

    2.1 no console do VM, abra o editor de gerenciamento de diretiva de grupo.

    2.2 expanda a floresta, com o botão direito no domínio do CPS e, em seguida, clique em criar um GPO neste domínio e vinculá-lo aqui.

    2.3 nomear o GPO de sua preferência (por exemplo, BitLocker) e, em seguida, clique em OK.

    2.4 um novo GPO agora deve aparecer sob o domínio do CPS. Clique na guia configurações do GPO o BitLocker, clique em Configuração do computadore, em seguida, clique em Editar. Isso será aberta outra janela do Editor de gerenciamento de diretiva de grupo.

    2.5 no painel esquerdo do Editor de gerenciamento de diretiva de grupo, navegue até Configuração do computador -> políticas de -> modelos administrativos ->-> O BitLocker Drive Encryption -> Unidades de dados fixasde Componentes do Windows e clique em escolher como protegidas pelo BitLocker fixo drives podem ser recuperados.

    2.6 na caixa de diálogo pop-up da configuração de diretiva, ative a diretiva e defina as seguintes opções:
    1. Permitir que o agente de recuperação de dados
    2. Salvar informações de recuperação do BitLocker em AD DS para unidades de dados fixas
    3. Não habilite o BitLocker até que as informações de recuperação são armazenadas no AD DS para unidades de dados fixas

    2.7 Clique em OKe feche a janela do Editor.

    2.8 no quadro de filtragem de segurança, clique em Add para adicionar todas as contas de computador de nós armazenamento. No CPS, há quatro nós por rack. Depois de adicioná-los, todos os nós devem estar listados no quadro a filtragem de segurança. Você pode remover o grupo padrão usuários autorizados.

    2,9 no painel esquerdo, clique na diretiva do BitLocker e, em seguida, clique em Enforced. Feche o Editor de gerenciamento de diretiva de grupo.

    2.10 nesse momento, a diretiva é aplicada, mas pode levar até uma hora para se propagar.
    1. Caso não queira esperar para propagar a diretiva, você pode aplicá-lo manualmente login em cada nó de armazenamento e executando PS C:\Users\admin1\Desktop > gpupdate /force.
    2. Verifique se a diretiva foi aplicada com êxito, executando o seguinte cmdlet em cada nó de armazenamento:

      PS C:\Users\admin1\Desktop > gpresult /scope computer /v
    3. Na saída, procure os objetos de diretiva de grupo aplicadas. Se a regra (neste exemplo, nós chamamos o BitLocker) estiver listada, a diretiva é aplicada, e você pode ir para a etapa 3.

  3. IMPORTANTE [não ignore esta etapa]: Se você tiver cargas de trabalho em execução no cluster inquilino que exigem uma seqüência específica para ser desligado, faça isso agora. O script na etapa 4 desativará todas as VMs ativas o carimbo. Não desligue as VMs AD/DC. Depois que os volumes têm um status on-line (redirecionamento) , o VMs inquilino pode ser reiniciado com segurança.
  4. Habilitar a criptografia do BitLocker em todos os volumes de armazenamento

    4.1 copie o seguinte código e salve-o como Enable-ClusterDiskBitlocker.ps1 emMinhapasta> em um de nós do cluster de armazenamento. Vamos chamar esse nómyStorageNode>.
    <#################################################### ## Copyright (c) Microsoft. All rights reserved. ## ###################################################><#.SYNOPSISEnable Bitlocker on all the Cluster Shared Volumes in CPS..DESCRIPTIONEnable Bitlocker on all the Cluster Shared Volumes on the rack. The volumes will be fully encrypted. The encryption process may take long time (48-72h), depending on the amount of data stored. During that time, the volumes will be in a redirected state. The volumes will automatically go back to Online once the encryption process is complete. NOTE: Please put all the VMs, both management and tenants, into a save state. Failing to do so will result in the VMs crashing and possibly getting into an inconsistent state. Once the volumes are in Online (Redirected) status, the VMs can be safely restarted.THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANYIMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.#> Function Stop-ClusterVMs{#Stop all VMs passed as inputparam([string]$ClusterName,[Object[]]$TargetVMs)$proceed = Get-Confirmation -question "The script will now turn off ALL the virtual machines in the $ClusterName cluster"$TargetVMs | Out-File ".\$ClusterName.txt"if($proceed -eq $true){$counter=1foreach ($vm in $TargetVMs){$progress= [int] ($counter / $TargetVMs.Count * 100 )Write-Progress -Activity "Stopping $ClusterName Virtual Machines..." `-PercentComplete $progress `-CurrentOperation "$progress% complete" `-Status "Please wait."$counter++Write-Verbose "Now turning off $vm.Name on node $vm.OwnerNode"Stop-VM -Name $vm.Name -ComputerName $vm.OwnerNode -Force}Write-Progress -Activity "Stopping $ClusterName Virtual Machines..." `-Completed -Status "All VMs are shut down."}else{exit}}Function Start-ClusterVMs{#start all the VMs passed as inputparam([string]$ClusterName,[Object[]]$TargetVMs)$counter=1foreach ($vm in $TargetVMs){$progress= [int] ($counter / $TargetVMs.Count * 100 )Write-Progress -Activity "Starting $ClusterName Virtual Machines..." `-PercentComplete $progress `-CurrentOperation "$progress% complete" `-Status "Please wait."$counter++Write-Verbose "Now turning on $vm.Name..."Start-VM -Name $vm.Name -ComputerName $vm.OwnerNode }Write-Progress -Activity "Starting $ClusterName Virtual Machines..." `-Completed -Status "All VMs are running."}Function Get-ClusterVMs{#create a table with VM, OwnerNode for the given clusterparam([string]$Cluster)$resultTable = @{Expression={$_.Name};Label="Volume Name";width=80},`@{Expression={$_.OwnerNode};Label="Owner Node";width=50}$nodes = Get-ClusterNode -Cluster $Clusterforeach($node in $nodes){$targetVMs = Get-VM -ComputerName $node | Where{$_.State -like "Running"}foreach($vm in $targetVMs){[PSCustomObject] @{ "Name" = $vm.Name"OwnerNode" = $node} } }}Function Get-Confirmation {param([string]$Question, [string]$message="Do you want to proceed?")$optionYes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "Yes"$optionNo = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "No"$options = [System.Management.Automation.Host.ChoiceDescription[]]($optionYes, $optionNo)$result = $host.ui.PromptForChoice($Question, $message, $options, 0)switch ($result){0 {Return $true }1 {Return $false }}}Function Suspend-ClusterVMs{#stop the cluster and put all VMs in saved stateparam([string]$ClusterName)$proceed = Get-Confirmation -question "The script will now suspend ALL the virtual machines in the $ClusterName cluster"Get-ClusterNode -Cluster $ClusterName | Out-File ".\$ClusterName.txt"if($proceed -eq $true){Stop-Cluster -Cluster $ClusterName -Verbose -Force}else{exit}}Function Enable-ClusterDiskBitlocker{Param([Parameter (Mandatory = $true)] [System.Security.SecureString] $bitlockerEncryptionKey, [Parameter (Mandatory = $true)] [String] $managementClusterName, [Parameter (Mandatory = $true)] [String] $computeClusterName, [Parameter (Mandatory = $true)] [String] $edgeClusterName)$ErrorActionPreference = "Stop"$creds = get-credential -Message "Please provide Admin credentials to enable BitLocker" #Verifying that cluster names are correctwhile ((Get-Cluster $managementClusterName) -eq $null){$managementClusterName = Read-Host "The name provided for the management cluster is not correct. Please provide name of the management cluster" }while ((Get-Cluster $computeClusterName) -eq $null){$computeClusterName = Read-Host "The name provided for the compute cluster is not correct. Please provide name of the compute cluster" }while ((Get-Cluster $edgeClusterName) -eq $null){$edgeClusterName = Read-Host "The name provided for the edge cluster is not correct. Please provide name of the edge cluster" }#enabling hyper-v-powershell feature on the storage nodeif(!(Get-WindowsFeature |?{$_.Name -match "Hyper-V-Powershell"} | select -ExpandProperty Installed)){Write-Verbose "Installing Hyper-V-Powershell feature..."Add-WindowsFeature "Hyper-V-Powershell" -Verbose}#data structures needed to restart the vms later$managementClusterNodes = Get-ClusterNode -Cluster $managementClusterNameif($managementClusterNodes -eq $null){Write-Warning "Could not retrieve the nodes of the management cluster"}$edgeClusterVMs = Get-ClusterVMs -Cluster $edgeClusterName if($edgeClusterVMs -eq $null){Write-Warning "Could not retrieve the virtual machines of the edge cluster"}$computeClusterVMs = Get-ClusterVMs -Cluster $computeClusterName if($computeClusterVMs -eq $null){Write-Warning "Could not retrieve the virtual machines of the compute cluster"}  #turning off all VMs to prevent them from crashing and risk of data corruption$proceed = Get-Confirmation -Question "Have you enabled RDP connectivity on a storage node?"if($proceed -eq $false){Write-Error "This script must be run from a storage node. Please enable RDP on a storage node, connect to it and restart the script."exit}$proceed = Get-Confirmation -Question "Are you running this script from a storage node?"if($proceed -eq $false){Write-Error "This script must be run from a storage node. Please RDP into a storage node and restart the script."exit}Stop-ClusterVMs -ClusterName $computeClusterName -targetVMs $computeClusterVMsStop-ClusterVMs -ClusterName $edgeClusterName -targetVMs $edgeClusterVMsSuspend-ClusterVMs -ClusterName $managementClusterName $storageClusterName = (Get-Cluster).namewhile ($storageClusterName -eq $null){$storageClusterName = Read-Host "Please provide name of the storage cluster" }$clusterNodes = (Get-ClusterNode -Cluster $storageClusterName).Nameif($clusterNodes -eq $null){Write-Error "Could not retrieve the nodes of the storage cluster"}$ClusterSharedVolumes = Get-ClusterSharedVolume -Cluster $storageClusterNameif($ClusterSharedVolumes -eq $null){Write-Error "'Get-ClusterSharedVolume -Cluster' $storageClusterName failed. Could not retrieve the list of volumes of the storage cluster"}#temporarily enable CredSSP on the SOFS nodesforeach($clusterNode in $clusterNodes){Write-Verbose "Enabling CredSSP Client role for $clusterNode..."Enable-WSManCredSSP -role Client -DelegateComputer * -ForceWrite-Verbose "Enabling CredSSP Server role on $clusterNode..."Invoke-Command -ComputerName $clusterNode {Enable-WSManCredSSP -Role Server -Force}} $counter = 1foreach ($clusterSharedVolumeObject in $ClusterSharedVolumes) {$progress= [int] ($counter / $ClusterSharedVolumes.Count * 100 )Write-Progress -Activity "Enabling BitLocker on the volumes..." `-PercentComplete $progress `-CurrentOperation "$progress% complete" `-Status "Please wait."$counter++$clusterSharedVolume = $clusterSharedVolumeObject.Name $CSVPhysicalOwner = $clusterSharedVolumeObject.OwnerNode#Verifying the status of the volume before starting the encryption process. only fullydecrypted is acceptable.$clusterSharedVolumeStatus = (Invoke-Command -Authentication Credssp -Credential $creds -ComputerName $CSVPhysicalOwner -ArgumentList $clusterSharedVolumeObject {param($clusterSharedVolumeObject) Get-BitlockerVolume -MountPoint $clusterSharedVolumeObject.SharedVolumeInfo.FriendlyVolumeName}).VolumeStatusswitch ($clusterSharedVolumeStatus) {"FullyDecrypted" {"Starting encryption process for $clusterSharedVolume..."; $continueWithEncryption = $true}"FullyEncrypted" {"$clusterSharedVolume is already encrypted. Moving to the next volume."; $continueWithEncryption = $false}"EncryptionInProgress" {"$clusterSharedVolume is currently being encrypted. Moving to the next volume"; $continueWithEncryption = $false}default {"$clusterSharedVolume status is unknown. Moving to the next volume"; $continueWithEncryption = $false}} if (!$continueWithEncryption){continue}try{#Put ClusterSharedVolume in Maintenance ModeWrite-Verbose "Putting the $clusterSharedVolume in maintenance mode..."Invoke-Command -ComputerName $CSVPhysicalOwner -ArgumentList $clusterSharedVolume {param($clusterSharedVolume) Get-ClusterSharedVolume $clusterSharedVolume | Suspend-ClusterResource -Force}#Configure BitLocker on the volume $CSVMountPoint = Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $clusterSharedVolume {param($clusterSharedVolume) (Get-ClusterSharedVolume $clusterSharedVolume).SharedVolumeInfo.FriendlyVolumeName}if($CSVMountPoint -eq $null){$errorMessageForUser = "Failed while retrieving the MountPoint associated with $clusterSharedVolume on server node $CSVPhysicalOwner"throw $errorMessageForUser }Write-Verbose "Invoking Enable-Bitlocker on $clusterSharedVolume..."Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $CSVMountPoint {param($CSVMountPoint) Enable-BitLocker $CSVMountPoint -RecoveryPasswordProtector}Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $CSVMountPoint,$bitlockerEncryptionKey {param($CSVMountPoint, $bitlockerEncryptionKey) Add-BitLockerKeyProtector $CSVMountPoint -PasswordProtector –Password $bitlockerEncryptionKey}#enable using a recovery password protector and backup the protector to Active Directorywrite-verbose "Backup BitLocker Key Protector on AD for $clusterSharedVolume..." $protectorId = Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $CSVMountPoint {param($CSVMountPoint) (Get-BitLockerVolume $CSVMountPoint).Keyprotector | Where-Object {$_.KeyProtectorType -eq "RecoveryPassword”}}if($protectorId -eq $null){$errorMessageForUser = "Failed while retrieving the protector Id associated with $CSVMountPoint on server node $CSVPhysicalOwner"throw $errorMessageForUser } Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $CSVMountPoint,$protectorId {param($CSVMountPoint, $protectorId) Backup-BitLockerKeyProtector $CSVMountPoint -KeyProtectorId $protectorId.KeyProtectorId}#Determine the Cluster Name Object for your cluster: $cno = $storageClusterName + "$"#Add an Active Directory Security Identifier (SID) to the CSV disk using the Cluster Name Object (CNO)Write-Verbose "Enabling ADProtector on $clusterSharedVolume..."Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $CSVMountPoint,$cno {param($CSVMountPoint, $cno) Add-BitLockerKeyProtector $CSVMountPoint -ADAccountOrGroupProtector –ADAccountOrGroup $cno}#Put the ClusterSharedVolume back onlineWrite-Verbose "Putting $clusterSharedVolume back online..."Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $clusterSharedVolume {param($clusterSharedVolume) Get-ClusterSharedVolume $clusterSharedVolume | Resume-ClusterResource}}catch{Invoke-Command -ComputerName $CSVPhysicalOwner -Authentication Credssp -Credential $creds -ArgumentList $CSVMountPoint{param($CSVMountPoint) manage-bde -off $CSVMountPoint}Write-Host "The encryption process of $CSVMountPoint encountered a problem. Execution stopped. Disabling BitLocker and decrypting volume $CSVMountPoint" -ForegroundColor RedWrite-Host "Exception Message: $($_.Exception.Message)" -ForegroundColor Redexit}} #restart all VMs that were previously shut down or suspendedWrite-Verbose "Encryption enabled on all the CSVs. Restarting now all the VMs that were previously shut down or suspended"#restarting management cluster $tempCounter = 0$sizeManagementCluster = $managementClusterNodes.length - 1$managmentClusterObject = Start-Cluster $managementClusterNodes[$tempCounter] while (($managementClusterObject -eq $null ) -and ($tempCounter -lt $sizeManagementCluster)){Write-Verbose "Management Cluster did not start on node $managementClusterNodes[$tempCounter]" $tempCounter++Write-Verbose "Trying now to start the management cluster on node $managementClusterNodes[$tempCounter]"$managmentClusterObject = Start-Cluster $managementClusterNodes[$tempCounter]}if ($managementClusterObject -eq $null){Write-Host "Management cluster could not be started. Please restart it manually" -ForegroundColor Red} Start-ClusterVMs -ClusterName $edgeClusterName -TargetVMs $edgeClusterVMs Start-ClusterVMs -ClusterName $computeClusterName -TargetVMs $computeClusterVMs  #disable credSSP on the SOFS nodesforeach($clusterNode in $listOfNodes){write-verbose "Disabling CredSSP on $clusterNode..."Invoke-Command -ComputerName $clusterNode {Disable-WSManCredSSP -Role Server}}write-verbose "Disabling CredSSP on local machine..."Disable-WSManCredSSP -role Client Write-Progress -Activity "Enabling BitLocker on the volumes..." `-Completed -Status "All done."}Enable-ClusterDiskBitlocker -Verbose

    4.2 área de trabalho remota para conectar-se ao uso demyStorageNode> usando suas credenciais de administrador e, em seguida, abrir um console do PowerShell com direitos de administrador. Se você não conseguir conectar, habilite a área de trabalho remota em todos os nós de armazenamento.

    4.3 ir paraMinhapasta> e, em seguida, digite a seguinte linha de comando:
    PS C:\Users\admin1\Desktop> .\Enable-ClusterDiskBitlocker.ps1 –bitlockerEncryptionKey <myEncryptionKey> -Verbose
    A chave de criptografia é a chave que você deseja usar para o BitLocker. O script solicitará suas credenciais de administrador e os nomes do cluster management, o cluster de computadores e o cluster de borda.

    4.5 o script primeiro desative todas as VMs em carimbos (exceto as VMs AD/DC), portanto, você perderá a conectividade para o console de VM. O script irá percorrer cada disco de cluster e habilite a criptografia do BitLocker. Depois que o BitLocker foi habilitado em todos os discos de cluster, o script exibirá todas as VMs on-line que foram desativadas durante o processo.

    Se você estiver interessado em saber o que está acontecendo nos bastidores, o script segue perto as etapas a seguir na postagem no blog:

    Como configurar discos de cluster criptografados pelo BitLocker no Windows Server 2012

    Esse processo leva cerca de 30 minutos por cluster de armazenamento.

    4.6 após o script terminar a execução, abra o Gerenciador de Cluster de Failover. Todos os discos de cluster devem ter um status on-line (redirecionamento). Agora você pode ativar todas as VMs desativada anteriormente e operar o rack de CPS como de costume. O processo de criptografia pode levar vários dias para ser concluída, dependendo da quantidade de dados gravados nos discos. Depois que um disco de cluster é totalmente criptografado, seu status retorna automaticamente para on-line.
  5. Verificar o status de criptografia do carimbo

    Para obter uma atualização de status sobre o processo de criptografia, ou para obter uma cópia impressa do status da criptografia por motivos de conformidade, execute o seguinteGet-VolumeEncryptionStatus cmdlet.

    <#################################################### ## Copyright (c) Microsoft. All rights reserved. ## ###################################################><#.SYNOPSISCollect encryption status for each of the volumes in the storage cluster..DESCRIPTIONCollect encryption status for each of the volumes in the storage cluster. For each volume, this script returns Volume Name, Owner Node, Encryption Status and Encryption Percentage.The script requires the Bitlocker Feature installed on every node of the cluster and credssp enabled.THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANYIMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.#>Param([Parameter (Mandatory = $true)] [string] $storageClusterName)$ClusterSharedVolumes = Get-ClusterSharedVolume -Cluster $storageClusterNameif($ClusterSharedVolumes -eq $null){Write-Error "'Get-ClusterSharedVolume -Cluster' $storageClusterName failed. Could not retrieve the list of volumes of the storage cluster"}try{$resultTable = @{Expression={$_.Name};Label="Volume Name";width=45},`@{Expression={$_.OwnerNode};Label="Owner Node";width=15}, `@{Expression={$_.VolumeStatus};Label="Encryption Status";width=25}, `@{Expression={$_.EncryptionPercentage};Label="Encryption Percentage";width=15}  $counter = 1$temp = foreach($clusterSharedVolumeObject in $ClusterSharedVolumes){$progress= [int] ($counter / $ClusterSharedVolumes.Count * 100 )Write-Progress -Activity "Collecting data..." `-PercentComplete $progress `-CurrentOperation "$progress% complete" `-Status "Please wait."$bitlockerVolume = Invoke-Command -ComputerName $clusterSharedVolumeObject.OwnerNode.Name -ArgumentList $clusterSharedVolumeObject {param($clusterSharedVolumeObject) Get-BitlockerVolume -MountPoint $clusterSharedVolumeObject.SharedVolumeInfo.FriendlyVolumeName}[PSCustomObject] @{ "Name" = $clusterSharedVolumeObject.Name"OwnerNode" = $clusterSharedVolumeObject.OwnerNode.Name"VolumeStatus" = $bitlockerVolume.VolumeStatus"EncryptionPercentage" = $bitlockerVolume.EncryptionPercentage} $counter++}  $temp | Format-Table $resultTable Write-Progress -Activity "Collecting data..." `-Completed -Status "All done."}catch{Write-Host "The cmdlet encountered a problem. Execution stopped." -ForegroundColor Redwrite-host "Exception Message: $($_.Exception.Message)" -ForegroundColor Red}

    5.1 copiar este código e salve-o como Get-VolumeEncryptionStatus.ps1 emMinhapasta> em um console de VM.

    5.2 abrir um console do Powershell com direitos de administrador e execute o seguinte cmdlet para passar o nome do seu cluster de armazenamento:
    PS C:\Users\admin1\Desktop> .\Get-VolumeEncryptionStatus.ps1 -storageClusterName
BitLocker; criptografia de dados em repouso; cluster de armazenamento; volume do cluster compartilhado

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3078425 - Última Revisão: 09/16/2015 16:07:00 - Revisão: 1.0

Cloud Platform System, Windows Server 2012 R2 Datacenter

  • kbmt KB3078425 KbMtpt
Comentários