<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Heartbeat from the Datacenter</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/ramazancan/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/ramazancan/feed.xml</link>
    <description>All Posts are provided &amp;quot;AS IS&amp;quot; with no warranties, and confers no rights</description>
    <lastBuildDate>Sat, 24 Feb 2018 12:41:25 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>SCVMM Powershell - BITSTcpPort</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/scvmm-powershell-bitstcpport</link>
      <pubDate>Mon, 19 Feb 2018 17:21:06 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1466</guid>
      <description><![CDATA[B.I.T.S - Background Intelligent Transfer Service - is also utilized by VMM for a.e. file transfer...]]></description>
      <content:encoded><![CDATA[<strong>B.I.T.S - Background Intelligent Transfer Service</strong> - is also utilized by VMM for a.e. file transfer purposes and if you come across to change the port manually, you basically have to touch the registry of each SCVMM managed computer as there is no way to do this in UI. Especially when you have large scale deployments, PowerShell more specific the VMM module become your best friend

The script is really very simple and goes and checks out what key is present and modifies this based on VMM server or agent deployment, that makes it easy and we can run that script over all VMM managed computers doesn't matter if clustered or standalone deployment
<div>
<div>first of all we collect computers from VMM and command to use here is <strong>Get-SCVMMManagedComputer </strong></div>
<div></div>
<div><img width="823" height="158" class="alignnone size-full wp-image-1475" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/02/GetSCVMMManagedComputers.jpg" /></div>
<div></div>
</div>
<div></div>
<div>next is the foreach loop to walkthrough of all computers and use a <strong>invoke-command</strong> with parameter <strong>-Scriptblock</strong> which has remote capabilities and execute <span><strong>Set-ItemProperty</strong> to update <strong>BITSTcpPort</strong> value. as I mentioned, this is depending of role server / agent therefore I created a check before and based on results I execute the right pattern</span></div>
<div></div>
<div></div>
<div><img width="1013" height="490" class="alignnone size-full wp-image-1515" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/02/foreachloop.jpg" /></div>
<div></div>
<div></div>
<div>Please Note: In my example I had used TCP port 5987 - <strong>[int]$BITSTcpPort=</strong><span><strong>"5987" </strong>- but you can change it to any <strong>non-well known port</strong> in your environment. Verify in "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings" what ports are already in use by VMM and select a free available port above port 1024</span></div>
<div></div>
<div></div>
<div><img width="546" height="223" class="alignnone size-full wp-image-1505" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/02/VMMPortList.jpg" /></div>
<div></div>
You probably have seen that I do not automatically restart VMM server service so if you want to have that automated too, just remove the # before <strong>restart-service</strong> command

&nbsp;

<img width="775" height="278" class="alignnone wp-image-1495" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/02/UpdateBITSPort_ScriptOutput.jpg" />

Once the above change was completed, I did run into following VMM deployment error

<hr />

<em>Error (2940)</em>
<em>VMM is unable to complete the requested file transfer. The connection to the HTTP server vmmserver.contoso.com could not be established.</em>
<em>Unknown error (0x80072ee2)</em>

<em>Recommended Action</em>
<em>Ensure that the HTTP service and/or the agent on the machine vmmserver.contoso.com are installed and running and that a firewall is not blocking HTTP/HTTPS traffic on the configured port.</em>

<hr />

<span style="float: none;background-color: transparent;color: #333333;cursor: text;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif;font-size: 16px;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 24px;text-align: left;text-decoration: none;text-indent: 0px">0x80072ee2</span> - WININET_E_TIMEOUT - this looks like communication issues so I did some further investigation and finally root cause was the local firewall was blocking the new ports which we configured above. Which makes sense, as this is a non-well-known port and therefore blocked, so all good. if you have Windows firewall configured and actively running, you need to configure exceptions for those new ports we are using for BITS communication in my example TCP 5987. for Windows firewall you can use <strong>New-NetFirewallRule or netsh command</strong>
<div>
<div><strong><em>New-NetFirewallRule -DisplayName 'VMM Inbound Ports' -Profile @('Domain', 'Private') -Direction Inbound -Action Allow -Protocol TCP -LocalPort @('5985', '5986', <b><i>'5987'</i></b>)</em></strong></div>
</div>
<a href="https://social.technet.microsoft.com/wiki/contents/articles/18465.vmm-2012-change-bits-port-used-for-template-provisioning-bits-over-https.aspx">https://social.technet.microsoft.com/wiki/contents/articles/18465.vmm-2012-change-bits-port-used-for-template-provisioning-bits-over-https.aspx</a>

here are also few related articles around VMM, BITS and WMI

<a href="https://social.technet.microsoft.com/wiki/contents/articles/9058.troubleshoot-vmm-bits-troubleshooting.aspx">https://social.technet.microsoft.com/wiki/contents/articles/9058.troubleshoot-vmm-bits-troubleshooting.aspx</a>

<a href="https://social.technet.microsoft.com/wiki/contents/articles/9048.wmi-troubleshooting-for-vmm.aspx">https://social.technet.microsoft.com/wiki/contents/articles/9048.wmi-troubleshooting-for-vmm.aspx</a>

Scripts for Download @ GitHub:

<a href="https://github.com/ramcandev/powershell/blob/master/VMM_ChangeBITSTcpPort.ps1">https://github.com/ramcandev/powershell/blob/master/VMM_ChangeBITSTcpPort.ps1</a>

<a href="https://github.com/ramcandev/powershell/blob/master/VMM_AddWFWRule_VMMBITS.ps1">https://github.com/ramcandev/powershell/blob/master/VMM_AddWFWRule_VMMBITS.ps1</a>

<strong>as usual, any scripts I publish should only be used as examples and usually requires modification before running that against your PROD environment</strong>]]></content:encoded>
    </item>
    <item>
      <title>Enable Remote Kernel Mode Debugging on Hyper-V Virtual Machine</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/enable-remote-kernel-debug-on-virtual-machine</link>
      <pubDate>Mon, 18 Dec 2017 11:52:56 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1145</guid>
      <description><![CDATA[1) start an elevated command prompt and turn on debugging
bcdedit /debug on
2) configure debugger...]]></description>
      <content:encoded><![CDATA[<div>1) start an elevated command prompt and turn on debugging
bcdedit /debug on
2) configure debugger to use COM1
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200</div>
<div>
<div><img width="844" height="171" class="alignnone size-full wp-image-1146" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/bcdedit.png" /></div>
3) reboot so boot loader can read new bcdstore settings

</div>
<div></div>
<div>Now, we need to configure Hyper-V to redirect COM1 to TCP named pipe</div>
<div></div>
<div>1) Hyper-V -&gt; VM settings -&gt; COM1
change from "none" to "pipe name" and provide a descriptive name which we will use later in winbdg
<em>Note: Please take a note of the named pipe path as we will use this later in windbg</em></div>
<div><img width="457" height="258" class="alignnone size-full wp-image-1155" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/comport.png" /></div>
<ul>
 	<li>Download and install the Debugging Tools for Windows from <a href="https://msdn.microsoft.com/en-us/windows/hardware/gg463009">https://msdn.microsoft.com/en-us/windows/hardware/gg463009</a></li>
 	<li>Start 'WinDbg' and choose 'Run as administrator' (Windbg needs administrative rights to connect to the pipe)
<ul>
 	<li>In windbg open the File menu and choose 'Remote Stub'</li>
 	<li>Here we need 'Remote Stub' path (replace server=HYPERV1 by your Hyper-V hostname)
<ul>
 	<li>tcp:server=HYPERV1,port=10240</li>
</ul>
</li>
 	<li>then go to 'Kernel Debug'-&gt; COM
<ul>
 	<li>Enter a Baud Rate of 115200, to match the settings made in the VM and replace HYPERV1 by your Hyper-V hostname a.e.
<ul>
 	<li>\\HYPERV1\pipe\ramaca160902-125416-VM693</li>
 	<li><img width="402" height="290" class="alignnone size-full wp-image-1156" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/kerneldebug.png" /></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div></div>
<div>Voila - To verify your debugger connection you can break in which should give you a kd&gt; prompt. From here it's all yours 😊</div>
<div><img width="835" height="498" class="alignnone size-full wp-image-1166" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/windbg.png" /></div>
<div><a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/attaching-to-a-virtual-machine--kernel-mode-">https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/attaching-to-a-virtual-machine--kernel-mode-</a></div>
<div><a href="https://msdn.microsoft.com/en-us/library/ms932907(v=winembedded.5).aspx">https://msdn.microsoft.com/en-us/library/ms932907(v=winembedded.5).aspx</a></div>
<div></div>]]></content:encoded>
    </item>
    <item>
      <title>Powershell - How to detect bad state VMs in a Hyper-V cluster?</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/powershell-how-to-detect-bad-state-vms</link>
      <pubDate>Mon, 18 Dec 2017 11:36:52 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1055</guid>
      <description><![CDATA[[notranslate]
integration components are a good indicator of the health of a VM as it can tell us...]]></description>
      <content:encoded><![CDATA[[notranslate]
integration components are a good indicator of the health of a VM as it can tell us OS and services are properly started. it does not replace OS/application but can give you a quick clue about the health state of your VMs. Here I used the heartbeat IC to verify VM state from a Hyper-V perspective further we created a daily report which is sent to our team with a summary for each cluster like. as the report is been generated based on HTML we can also add some formatting to highlight failed VMs a.e. in red

<img width="1024" height="150" class="alignnone size-full wp-image-1066" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/08/HeartbeatFailedVMsReport1.png" />

<code>
#
#Creator: ramacan
#Last Modified: 06/11/14
#
#		- Quick &amp; Dirty detection of VMs heartbeat state
#		- can run from any machine which has failovercluster powershell commandlet installed
# 		- check only for VMs with state running (bug with saved state VMs)
#V1.0	- better output view</code>

cls
""
$clu=Read-Host "Cluster name which should be checked "
$Clusternodes=(Get-Cluster $clu | Get-Clusternode).Name | Sort-Object
$ClusternodeCount=$Clusternodes.Count
[array]$NoHBVMs=@{} | Out-Null
""
Write-Host "scan heartbeat status for any VM running in cluster $clu" -foregroundcolor green
Write-Host "found"$ClusternodeCount" nodes in cluster $clu" -foregroundcolor green
" "
foreach ($node in $clusternodes) {
$AllVMs=get-vm -ComputerName $node | Sort-Object
$AllVMsCount=$AllVMs.Count
" "
Write-Host "scanning node $node...." -foregroundcolor green
Write-Host "found"$AllVMsCount" VMs at node $node" -foregroundcolor green
foreach ($VM in $AllVMs) {
$VMN=$VM.Name
$VMStat=(get-vm -computer $node "$VMN").State
if ($VMStat -match "Running") {
$HBStatus=(Get-VMIntegrationService -computername $node -VMName $VMN Heartbeat).PrimaryStatusDescription
if ($HBStatus -match "No Contact")
{Write-Host ""$VM.Name"has HB status - No Contact ! detected on host -&gt; $node" -foregroundcolor yellow
$NoHBVMs+=$VM.Name}
}}}
" "
if ($NoHBVMs -ne $null) {
Write-Host "Following VMs need to be checked :" -foregroundcolor green
$NoHBVMs} else
{Write-Host "Great - No VMs detected in cluster $clu which has failed heartbeat" -foregroundcolor green}
" "

[/notranslate]]]></content:encoded>
    </item>
    <item>
      <title>Windows System State Backup from On-Prem to Azure is generally available now</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/windows-system-state-backup-from-on-prem-to-azure-is-generally-available-now</link>
      <pubDate>Wed, 15 Nov 2017 22:04:40 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1286</guid>
      <description><![CDATA[This feature is now GA and available in Azure. For some specific scenarios I do see a great benefit...]]></description>
      <content:encoded><![CDATA[This feature is now GA and available in Azure. For some specific scenarios I do see a great benefit of such an opportunity so let’s test this out and do a basic configuration in praxis

First we need to create an Azure Recovery Service vault<span lang="EN-US" style="margin: 0px;color: #505050;letter-spacing: -0.35pt;font-family: 'Segoe UI',sans-serif"></span>

<img width="240" height="284" class="alignnone size-full wp-image-1295" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/recoveryvault.png" />

Then we create a Backup instance

<img width="637" height="221" class="alignnone size-full wp-image-1305" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/backupinstance.png" />

&nbsp;

<img width="240" height="326" class="alignnone size-full wp-image-1306" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/recoveryservice_backupgoal.png" />

As we are going to configure system state on-prem

<img width="477" height="484" class="alignnone size-full wp-image-1307" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/recoveryservice_prepinfra.png" />

Now lets’s install the Azure Recovery Services agent on the server on-prem we want to backup

<img width="716" height="576" class="alignnone size-full wp-image-1315" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryAgent_Install.png" />

<img width="719" height="573" class="alignnone size-full wp-image-1316" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryAgent_Install2.png" />

in case you are accessing internet through proxy you need to enter here creds/proxy details

<img width="722" height="336" class="alignnone size-full wp-image-1325" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryAgent_Install3.png" />

Once the agent installation is completed we have to register it

<img width="719" height="577" class="alignnone size-full wp-image-1326" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryAgent_RegisterAgent.png" />

Registering agent with previously created Azure Recovery Service vault

<img width="777" height="266" class="alignnone size-full wp-image-1335" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryAgent_VaultRegister.png" />

<img width="235" height="315" class="alignnone size-full wp-image-1345" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryAgent_Download.png" />

Download and attach the vault credentials to the agent

<img width="878" height="24" class="alignnone size-full wp-image-1355" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryService_VaultCreds.png" />

<img width="782" height="292" class="alignnone size-full wp-image-1365" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryService_VaultCreds2.png" />

Next we need to generate a passphrase where you either can choose to generate or can provide your own passphrase <img width="778" height="479" class="alignnone size-full wp-image-1366" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryService_VaultCredsPassphrase.png" />

<strong>Please note: If your passphrase is lost or forgotton, the data cannot be restored!!</strong>

<img width="779" height="317" class="alignnone size-full wp-image-1376" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureRecoveryService_Registration.png" />

That was easy 😊 lets create now an initial backup from on-prem to Azure

<img width="1045" height="482" class="alignnone  wp-image-1385" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureSystemBackup.png" />

<img width="1065" height="455" class="alignnone size-full wp-image-1395" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureSystemBackup2.png" />

Reg<span style="float: none;background-color: transparent;color: #333333;cursor: text;font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif;font-size: 16px;font-style: normal;font-variant: normal;font-weight: 400;letter-spacing: normal;line-height: 24px;text-align: left;text-decoration: none;text-indent: 0px">ular Backup Schedule Plan</span>

<img width="940" height="496" class="alignnone size-full wp-image-1405" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureSystemBackup3_Schedule.png" />

Retention Policy

<img width="1062" height="426" class="alignnone size-full wp-image-1406" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureSystemBackup4_RetentionPolicy.png" />

If you are running into issues you can also check properties setting a.e. Proxy configuration. Further you can check here for any error codes around Azure Backup
<a href="https://social.technet.microsoft.com/wiki/contents/articles/10183.azure-backup-errors-and-events-portal.aspx">https://social.technet.microsoft.com/wiki/contents/articles/10183.azure-backup-errors-and-events-portal.aspx</a>
Once the backup start processing you will see the new agent in your Azure Portal under protected servers

<img width="884" height="433" class="alignnone size-full wp-image-1415" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureBackupAgent_ProtectedServers.png" />

<img width="673" height="559" class="alignnone size-full wp-image-1416" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/11/AzureBackupAgent_BackupNow.png" />

<strong>Benefits of System State Backup with Azure Backup</strong>
<ul>
 	<li><strong>Comprehensive protection for Active Directory, File-Servers and IIS Web servers</strong> System State fully encapsulates Active Directory, which is the most important database in any organization and allows for targeted domain-controller recoveries. In addition, critical cluster information of File Servers and the IIS Web Server Metabase is fully contained in the Windows System State.</li>
 	<li><strong>Centralized management in Azure </strong> Once it is backed up, all information related to System State backups across your Windows Servers is available in the Azure portal. You can <a href="https://azure.microsoft.com/en-us/blog/alerting-and-monitoring-for-azure-backup/">also configure notifications</a> directly from the Azure portal so you get notified of a failed backup and you can take corrective steps. You can also generate <a href="https://azure.microsoft.com/blog/azure-backup-reports/">reports using Microsoft Power BI</a>.</li>
 	<li><strong>Cost-effective and secure offsite storage for Windows Server </strong> With <a href="https://azure.microsoft.com/en-in/pricing/details/backup/">pay-as-you-go Azure storage</a>, Azure Backup eliminates on-premises infrastructure by directly backing up your Windows Server System State to Azure. Azure Backup also encrypts your backups at the source using a key that only you have access to. Additionally, <a href="https://azure.microsoft.com/en-us/blog/azure-backup-security-feature/">enhanced security features</a> built into Azure Backup ensure that your critical system state backups remain secure from ransomware, corruptions, and deletions.</li>
 	<li><strong>Free restores</strong> With Azure Backup, you can restore System State files from Azure without any egress charges.</li>
</ul>
<a href="https://docs.microsoft.com/en-us/azure/backup/backup-configure-vault">https://docs.microsoft.com/en-us/azure/backup/backup-configure-vault</a>]]></content:encoded>
    </item>
    <item>
      <title>CRAY Supercomputers are coming to Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/cray-supercomputers-are-coming-to-azure</link>
      <pubDate>Tue, 24 Oct 2017 10:26:40 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1285</guid>
      <description><![CDATA[WOW! This is really a great development and I do have some personal relationship to Cray computers...]]></description>
      <content:encoded><![CDATA[WOW! This is really a great development and I do have some personal relationship to Cray computers as I worked years ago for SGI where Cray was part of them. During that time I touched many of the high-end supercomputers and was impressed in which areas they help to resolve biggest challenges  a.e. <span>climate modeling, precision medicine, energy, manufacturing, and other scientific research</span>. Cray / SGI super computers are not only one of the fastest supercomputers they really also look cool :) I still have my Indy with IRIX running at home

<a href="https://de.wikipedia.org/wiki/SGI_Indy">https://de.wikipedia.org/wiki/SGI_Indy</a>

From the blog article:

<em>"Microsoft and Cray are working together to bring customers the right combination of extreme performance, scalability, and elasticity. Customers can get a dedicated Cray XC or CS series supercomputers in Azure to run HPC and AI applications alongside their other cloud workloads directly on the Azure network. The Cray systems easily integrate with Azure Virtual Machines, Azure Data Lake storage, the Microsoft AI platform, and Azure Machine Learning services for rich workflows and collaboration"</em>

<a href="https://azure.microsoft.com/en-us/blog/cray-supercomputers-are-coming-to-azure/">https://azure.microsoft.com/en-us/blog/cray-supercomputers-are-coming-to-azure/</a>

<a href="https://www.cray.com/solutions/supercomputing-as-a-service/cray-in-azure">https://www.cray.com/solutions/supercomputing-as-a-service/cray-in-azure</a>

<a href="https://investors.cray.com/phoenix.zhtml?c=98390&amp;p=irol-newsArticle&amp;ID=2310378">https://investors.cray.com/phoenix.zhtml?c=98390&amp;p=irol-newsArticle&amp;ID=2310378</a>

<a href="https://www.sgi.com">https://www.sgi.com</a>]]></content:encoded>
    </item>
    <item>
      <title>Event ID 50 - NTFS Delayed Write Lost</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/event-id-50-ntfs-delayed-write-lost</link>
      <pubDate>Tue, 17 Oct 2017 15:31:25 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1226</guid>
      <description><![CDATA[We see often alerts in SCOM around "NTFS - Write Delayed Lost" which is worth to investigate further...]]></description>
      <content:encoded><![CDATA[We see often alerts in SCOM around "NTFS - Write Delayed Lost" which is worth to investigate further and here is a example how to look more close on this

From below KB:

<em>"an </em><em>event ID 50 message is logged if a generic error occurs when Windows is trying to write information to the disk. This error occurs when Windows is trying to commit data from the file system Cache Manager (not hardware level cache) to the physical disk. This behavior is part of the memory management of Windows. For example, if a program sends a write request, the write request is cached by Cache Manager and the program is told the write is completed successfully. At a later point in time, Cache Manager tries to lazy write the data to the physical disk. When Cache Manager tries to commit the data to disk, an error occurs writing the data, and the data is flushed from the cache and discarded. Write-back caching improves system performance, but data loss and volume integrity loss can occur as a result of lost delayed-write failures"</em>

<img width="926" height="404" class="alignnone size-full wp-image-1235" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/SCOM_NTFSWriteDelayedAlert.png" />

<em>{Delayed Write Failed} Windows was unable to save all the data for the file \:$I30:$INDEX_ALLOCATION. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere.</em>

Or

<em>The driver detected a controller error on \Device\Harddisk1\DR1.</em>

If you open the eventlog from source system and filter for event 50 you will get the event details

<img width="1081" height="336" class="alignnone size-full wp-image-1245" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/eventID50.png" />

In this example host SERVER1 is showing error code 0x80040032 which is IO_LOST_DELAYED_WRITE and status code is key here and this tells us 0xC000026E which equals STATUS_VOLUME_DISMOUNTED. Still not how this could happen but this is a way to better understand what is exactly causing this

<img width="986" height="570" class="alignnone size-full wp-image-1255" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/eventID50details.png" />

more details on how decode the error / status can be found here -&gt;

<a href="https://support.microsoft.com/en-us/help/816004/description-of-the-event-id-50-error-message">https://support.microsoft.com/en-us/help/816004/description-of-the-event-id-50-error-message</a>

hope this helps,

Ramazan]]></content:encoded>
    </item>
    <item>
      <title>Cumulative Update for October-INACCESSIBLE BOOT DEVICE</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/cumulative-update-for-october-inaccessible-boot-device</link>
      <pubDate>Mon, 16 Oct 2017 11:02:32 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1175</guid>
      <description><![CDATA[The issue arises if the delta and the full cumulative update for October (KB4041691...]]></description>
      <content:encoded><![CDATA[The issue arises if the delta and the full cumulative update for October (KB4041691 <a href="https://support.microsoft.com/en-us/help/4041691">https://support.microsoft.com/en-us/help/4041691</a>) was installed same time. Those was released last week and if you configured your internal WSUS to automatically approve you will see this issue -&gt; <a href="https://support.microsoft.com/en-us/help/4049094/windows-devices-may-fail-to-boot-after-installing-october-10-version-o">https://support.microsoft.com/en-us/help/4049094/windows-devices-may-fail-to-boot-after-installing-october-10-version-o</a>

After installing this update you probably broke your machine with stop code:<strong> INACCESSIBLE BOOT DEVICE</strong>

<img width="902" height="343" class="alignnone size-full wp-image-1185" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/INACCESSIBLEBOOTDEVICE.png" />

let's calm down :) from my experience we could fix all instances with below procedure and <strong>do not attempt to run "automatic repair" </strong>in that case

Let's boot into 'Troubleshooting' and open our lovely good old command prompt

<img width="622" height="457" class="alignnone size-full wp-image-1195" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/REPAIR1.png" />  <img width="897" height="498" class="alignnone size-full wp-image-1206" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/REPAIR3.png" />

Microsoft Support advises to get rid of the SessionsPending reg key. Let's load the software registry hive:

<strong>reg load hklm\temp c:\windows\system32\config\software</strong>

Delete the SessionsPending registry key (if exists):

<strong>reg delete "HKLM\temp\Microsoft\Windows\CurrentVersion\Component Based Servicing\SessionsPending" /v Exclusive</strong>

<img width="991" height="120" class="alignnone size-full wp-image-1275" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/regdelete.jpg" />

<em>UPDATE: We saw few cases where above reg delete failed, in that case open regedit UI and delete the Exclusive key in sessionspending manually</em>

<img width="763" height="307" class="alignnone size-full wp-image-1266" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/Regedit_Exclusive.jpg" />

Unload the software registry hive:

<strong>reg unload HKLM\temp</strong>

now lets pullout with DISM.exe the list of installed packages

<strong>dism /image:C:\ /get-packages</strong>

<img width="991" height="456" class="alignnone size-full wp-image-1215" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/DISMListofPackages.png" />

Checkout the ones which are state <strong>"Install Pending"</strong> as one of those was causing the issues (highly like the last entries in your list)

before we can remove them we need to create a temporary directory first to where we can move the updates to

<strong>MKDIR C:\temp\packages</strong>

Now let's (re)move the "pending" package(s) with the DISM command

<strong>dism /image:c:\ /remove-package /packagename:PACKAGEIDENTITYNAME /scratchdir:c:\temp\packages</strong>

be focused on the output of the command and if it completes successfully

<img width="725" height="142" class="alignnone wp-image-1216" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/dism_remove_package.jpg" />

Reboot your VM and it will reboot again and you can run Windows update afterwards as the faulty update was already corrected

Official Microsoft KB:
<a href="https://support.microsoft.com/en-us/help/4049094/windows-devices-may-fail-to-boot-after-installing-october-10-version-o">https://support.microsoft.com/en-us/help/4049094/windows-devices-may-fail-to-boot-after-installing-october-10-version-o</a>

DISM Operating System Package Servicing Command-Line Options
<a href="https://msdn.microsoft.com/en-us/library/hh825265.aspx">https://msdn.microsoft.com/en-us/library/hh825265.aspx </a>]]></content:encoded>
    </item>
    <item>
      <title>The task XML contains a value which is incorrectly formatted or out of range</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/the-task-xml-contains-a-value-which-is-incorrectly-formatted-or-out-of-range</link>
      <pubDate>Fri, 06 Oct 2017 17:11:37 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1126</guid>
      <description><![CDATA[sharing a quick fix as I couldn't find easily information on how to get rid of this error. This also...]]></description>
      <content:encoded><![CDATA[sharing a quick fix as I couldn't find easily information on how to get rid of this error. This also prevents from adding/deleting new tasks to the system. In my case it was a orphaned task so it was easy to get rid of this failure

<img width="623" height="246" class="alignnone size-full wp-image-1135" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/10/Task-OutofRange.jpg" />

You can check "C:\Windows\System32\Tasks" and get the above XML. as mine was orphaned I went ahead and removed the XML (=task) file from this folder and I could again access "Task Scheduler" MMC or via Powershell

Task Scheduler Schema

<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa383609(v=vs.85).aspx">https://msdn.microsoft.com/en-us/library/windows/desktop/aa383609(v=vs.85).aspx</a>]]></content:encoded>
    </item>
    <item>
      <title>Powershell–How to query HP smart array for disk health check?</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/powershell-query-hp-smart-array-for-disk-health-check</link>
      <pubDate>Mon, 04 Sep 2017 13:05:00 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1106</guid>
      <description><![CDATA[There is no direct Powershell module for HP servers available yet but the CLI tools can help us...]]></description>
      <content:encoded><![CDATA[There is no direct Powershell module for HP servers available yet but the CLI tools can help us here. You can also use SCOM where a management is available for HP to monitor health of HP hardware. if you have not SCOM running we can work with Powershell and execute the HP CLI tools and check the reported states of disks

<img width="676" height="298" class="alignnone wp-image-1116" alt="" src="https://msdnshared.blob.core.windows.net/media/2017/09/SmartArray.png" />

we need some global params a.e. to store in a logfile the results
<code>
$localhost="SERVERNAME"
Get-item ".\log.txt" -ea 0 | Remove-Item -ea 0
$logfile=".\log.txt"
$programpath='C:\Program Files\HP\hpssacli\bin'
</code>

we can build a function to be able to call that later in our script:

<code>
function CheckSmartArray {
Write-Host " "
Write-Host "Checking SmartArray on system"$localhost"" -foregroundcolor green
C:\Windows\System32\cmd.exe /c "C:\Program Files\HP\hpssacli\bin\hpssacli.exe" controller slot=0 physicaldrive all show
}
</code>

now do we want to check that daily manually? or would be an automated solution like sending a mail in case of a failure? Ok, lets build the SMTP parameters so we can grab the results from HP CLI

<code>
function SentDiskDrivefailedviaMail {
$Logs=Get-Content $logfile
$smtpServer = "smtp.contoso.com"
$smtpFrom = "datacenterteam@contoso.com"
$SMTPPort = "25"
$Username = "datacenterteam@contoso.com"
$Password = "ContosoPassword1"
$smtpTo = "datacenterteam@contoso.com"
$messageSubject = "Disk Drive failed at $localhost"
[string]$messagebody = ""

foreach ($log in $logs )
{
$messagebody = $messagebody + $log + "`r`n"
}
Write-Host "Failed Disk found on Server $servername - starting to sent mail to $smtpTo via $smtpServer ...." -ForegroundColor red
$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)
Write-Host "mail sent completed " -ForegroundColor green
Write-Host " "
}
</code>
Now we have 2 functions which can be called and executed, lets finalize the script. first we need to analyze the log for failed disk and if true, build mail object and transfer via SMTP

<code>
CheckSmartArray | out-file -filepath $logfile -append

[array]$logcontent=gc $logfile
foreach ($line in $logcontent) {
  if ($line -match "Failed") {
     Write-Host " "
     write-host "failed disk found at $localhost " -foregroundcolor red
     write-host "detailed logs can be found $logfile " -foregroundcolor red
     Write-Host " "
     SentDiskDrivefailedviaMail
  }
}
</code>
here you can find the HP “Configuring Arrays on HP Smart Array Controllers Reference Guide“ for further details

<a href="https://h10032.www1.hp.com/ctg/Manual/c02289065.pdf">https://h10032.www1.hp.com/ctg/Manual/c02289065.pdf</a>

Hope this helps,

Ramazan]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Security Intelligence Report Volume 22 is now available</title>
      <link>https://docs.microsoft.com/archive/blogs/ramazancan/microsoft-security-intelligence-report-volume-22-is-now-available</link>
      <pubDate>Thu, 31 Aug 2017 15:36:03 GMT</pubDate>
      <dc:creator><![CDATA[Ramazan Can]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/ramazancan/?p=1105</guid>
      <description><![CDATA[[notranslate]At the end of the day - it's all about Security! Cybersecurity is getting Prio1 is many...]]></description>
      <content:encoded><![CDATA[[notranslate]At the end of the day - it's all about Security! Cybersecurity is getting Prio1 is many companies. Please checkout the Microsoft Security Intelligence Vol22. This new volume of the report includes threat data from the first quarter of 2017. The report also provides specific threat data for over 100 countries/regions. As mentioned in a recent blog, using the tremendous breadth and depth of signal and intelligence from our various cloud and on-premises solutions deployed globally, we investigate threats and vulnerabilities and regularly publish this report to educate enterprise organizations on the current state of threats and recommended best practices and solutions

<a href="https://www.microsoft.com/en-us/security/intelligence-report">https://www.microsoft.com/en-us/security/intelligence-report</a>

at this same topic, also take a look at the new Azure Security Center -&gt; <a href="https://blogs.microsoft.com/microsoftsecure/2016/07/21/new-microsoft-azure-security-capabilities-now-available/">https://blogs.microsoft.com/microsoftsecure/2016/07/21/new-microsoft-azure-security-capabilities-now-available/</a>
[/notranslate]]]></content:encoded>
    </item>
  </channel>
</rss>