<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8683766</atom:id><lastBuildDate>Thu, 21 May 2026 11:51:31 +0000</lastBuildDate><category>Windows</category><category>Microsoft</category><category>Server</category><category>2003</category><category>Business</category><category>Hyper-V</category><category>Small</category><category>2008</category><category>Exchange</category><category>SBS2003</category><category>Explorer</category><category>Firefox</category><category>FreeBSD</category><category>Internet</category><category>SP1</category><category>Web</category><category>Windows 7</category><category>management</category><category>policy</category><category>SBS</category><category>SBS2008</category><category>Vista</category><category>Windows Server 2008 R2</category><category>XP</category><category>network</category><category>recovery</category><category>security</category><category>Access</category><category>Console</category><category>IE7</category><category>Outlook</category><category>Partner</category><category>Services</category><category>SharePoint</category><category>Small Business Server</category><category>Sophos</category><category>candidate</category><category>content</category><category>crash</category><category>error</category><category>group</category><category>migration</category><category>performance</category><category>recover</category><category>regedit</category><category>release</category><category>virtual</category><category>.NET Framework</category><category>2.0</category><category>2007</category><category>3.0</category><category>7.0</category><category>DHCP</category><category>Enterprise</category><category>Expression</category><category>FSMO</category><category>Firebird</category><category>Longhorn</category><category>Manager</category><category>Nokia</category><category>Office365</category><category>Pack</category><category>RWW</category><category>Remote</category><category>SMTP</category><category>SNAFU</category><category>SQL</category><category>Technet</category><category>URL</category><category>Windows 8</category><category>Workplace</category><category>antispam</category><category>blogging</category><category>buggy</category><category>code</category><category>controller</category><category>countermeasures</category><category>desktop</category><category>disable</category><category>domain</category><category>driver</category><category>email</category><category>freeze</category><category>history</category><category>indexing</category><category>license</category><category>mailbox</category><category>memory</category><category>mobile</category><category>problem</category><category>protection</category><category>public</category><category>technology</category><category>toolkit</category><category>virtualisation</category><category>2000</category><category>2006</category><category>2010</category><category>6630</category><category>8.0</category><category>AVD</category><category>Action</category><category>Active Directory</category><category>Advantage</category><category>AutoCAD</category><category>Autodesk</category><category>Az</category><category>Azure</category><category>Azure Cloud Shell</category><category>Azure Virtual Desktop</category><category>Beta</category><category>CAL</category><category>CBS</category><category>Codec</category><category>Cygwin</category><category>DFS</category><category>DISM</category><category>DST</category><category>Dad</category><category>Darwin</category><category>Diva</category><category>E51</category><category>EBS</category><category>ECTS</category><category>ESX</category><category>Essential</category><category>ExchangeOnlineManagement</category><category>FLEXlm</category><category>FSLogix</category><category>Facebook</category><category>Falcon</category><category>File Transfer Manager</category><category>Flash</category><category>Friday</category><category>Fun</category><category>Genuine</category><category>Google Chrome</category><category>Group Policy</category><category>Happen</category><category>Heroes</category><category>Hobart</category><category>IMAP</category><category>IPocalypse</category><category>IPv4</category><category>IPv6</category><category>Internet Explorer 9.0</category><category>Jim Starkey</category><category>Kerberos</category><category>LifeBlog</category><category>Live</category><category>M365</category><category>MMC</category><category>MSDE</category><category>Melbourne IT</category><category>Microsoft 365</category><category>Mike Kruckenberg</category><category>MySQL</category><category>N95</category><category>NDR</category><category>NIC</category><category>NTBackup</category><category>Netlogon</category><category>OWA</category><category>Office</category><category>OneDrive</category><category>OpenID</category><category>Opera</category><category>Operations</category><category>PUR</category><category>PortableApps</category><category>Program</category><category>PsKill</category><category>PsTools</category><category>PureMessage</category><category>RC</category><category>RDP</category><category>Robert Jordan</category><category>SP2</category><category>SP3</category><category>SP4</category><category>Safari</category><category>Servicing</category><category>Subscription</category><category>Support</category><category>Susan Bradley</category><category>TCPView</category><category>Telstra</category><category>The Wheel of Time</category><category>VM</category><category>VMWare</category><category>VMWare Workstation 7.0</category><category>Virtual PC</category><category>Visual Studio</category><category>W3C</category><category>WGA</category><category>WSS</category><category>Wave</category><category>WinRM</category><category>Windows 10</category><category>Windows 8 RT</category><category>Windows Experience Index</category><category>Windows Home Server</category><category>Windows Imaging</category><category>Windows Remote Management</category><category>Windows Server</category><category>Windows Server 2012</category><category>Windows Server 2016</category><category>Windows Server 2019</category><category>Windows Server Backup</category><category>Windows Vista</category><category>Writer</category><category>active</category><category>address</category><category>administrative</category><category>assessment</category><category>authentication</category><category>bloat</category><category>blocker</category><category>borrowing</category><category>card</category><category>catalog</category><category>chkdsk</category><category>client</category><category>coding</category><category>collaboration</category><category>community</category><category>consolidation</category><category>corrupt</category><category>credentials</category><category>database</category><category>daylight</category><category>deleted</category><category>delivery</category><category>deployment</category><category>directory</category><category>disaster</category><category>disconnected</category><category>disk</category><category>display</category><category>document</category><category>e-Learning</category><category>environment variables</category><category>evaluation</category><category>exams</category><category>external</category><category>extranet</category><category>file</category><category>firewall</category><category>folder</category><category>gcc</category><category>global</category><category>install</category><category>intractable</category><category>invalid</category><category>item</category><category>items</category><category>journal</category><category>journalling</category><category>key</category><category>launch</category><category>lmgrd</category><category>lmtools</category><category>lmutil</category><category>logon scripts</category><category>long</category><category>machine</category><category>media</category><category>password</category><category>performance testing</category><category>phone</category><category>power</category><category>privacy</category><category>product</category><category>programming</category><category>read</category><category>receipt</category><category>regression</category><category>repair</category><category>reset</category><category>restriction</category><category>return</category><category>root</category><category>routing</category><category>savings</category><category>scecli</category><category>service</category><category>signing</category><category>slipstream</category><category>space</category><category>specialist</category><category>ssh</category><category>storage</category><category>stored</category><category>stubborn</category><category>symlinks</category><category>synchronisation</category><category>sysinternals</category><category>tablet</category><category>terminal</category><category>time</category><category>tombstone</category><category>trailing</category><category>training</category><category>transition</category><category>tutorials</category><category>unresponsive</category><category>update</category><category>userenv</category><category>username</category><category>valid</category><category>validator</category><category>wildcard certificate</category><category>wizard</category><title>Knight-time Ramblings</title><description>Meandering thoughts of the Knight household, mostly work and technology related guff.</description><link>http://blog.chrisara.com.au/</link><managingEditor>noreply@blogger.com (stryqx)</managingEditor><generator>Blogger</generator><openSearch:totalResults>106</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4270132282815580767</guid><pubDate>Tue, 10 Feb 2026 03:46:00 +0000</pubDate><atom:updated>2026-02-10T14:46:22.204+11:00</atom:updated><title>Azure Cloud Shell - Profile Modifications for non-US Regions</title><description>&lt;p&gt;&amp;nbsp;Azure Cloud Shell is a handy tool, but some of the non-configurable/non-persistent defaults are annoying. en-US locale is one such setting - those date formats are truly awful.&lt;/p&gt;&lt;p&gt;Here&#39;s my approach to fix this for Powershell sessions by modifying the session profile. The prompt is modified to ensure the locale is set for each interactive prompt, as setting the CurrentCulture by itself doesn&#39;t persist for the session - just for the current pipeline :-(&lt;/p&gt;&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #151b23; border-radius: 6px; box-sizing: border-box; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; tab-size: 4;&quot;&gt;&lt;span face=&quot;ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace&quot; style=&quot;color: #f0f6fc;&quot;&gt;&lt;span style=&quot;font-size: 11.9px;&quot;&gt;mkdir -p ~/.config/PowerShell
@&#39;
# Force Australian culture for the entire session
$newc = [System.Globalization.CultureInfo]::new(&quot;en-AU&quot;)
[System.Threading.Thread]::CurrentThread.CurrentCulture = $newc
[System.Threading.Thread]::CurrentThread.CurrentUICulture = $newc
[System.Globalization.CultureInfo]::CurrentCulture = $newc

# Override the prompt to re-apply culture before every command
function prompt {
    $newc = [System.Globalization.CultureInfo]::new(&quot;en-AU&quot;)
    [System.Threading.Thread]::CurrentThread.CurrentCulture = $newc
    &quot;PS [en-AU] $($ExecutionContext.SessionState.Path.CurrentLocation)&amp;gt; &quot;
}

# az-local helper to convert UTC to AEST
# examples:
#   List VMs with Local Times:
#     az vm list -o json | az-local | Format-Table Name, timeCreated
#   Check Resource Groups:
#     az group list -o json | az-local | ft name, tags

function az-local {
    param([Parameter(ValueFromPipeline)]$InputObject)
    process {
        $InputObject | ConvertFrom-Json | ForEach-Object {
            $obj = $_
            # Find any property containing &#39;time&#39; or &#39;Date&#39; and convert it
            $obj.PSObject.Properties | Where-Object { $_.Name -match &quot;time|date&quot; } | ForEach-Object {
                if ($_.Value -and $_.Value -is [string]) {
                    if ($dt = [datetime]::TryParse($_.Value, [ref][datetime]::MinValue)) {
                        $_.Value = [System.TimeZoneInfo]::ConvertTimeFromUtc([datetime]$_.Value, [System.TimeZoneInfo]::FindSystemTimeZoneById(&quot;AUS Eastern Standard Time&quot;)).ToString(&quot;dd/MM/yyyy HH:mm:ss&quot;)
                    }
                }
            }
            $obj
        }
    }
}
&#39;@ &amp;gt; $PROFILE
. $PROFILE&lt;/span&gt;&lt;/span&gt;&lt;span face=&quot;ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace&quot; style=&quot;color: #f0f6fc; font-size: 11.9px;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Modify &#39;en-AU&#39; and &#39;AUS Eastern Standard Time&#39; to match your regional settings.&lt;br /&gt;The language tags to use can be found here -&amp;nbsp;&lt;a href=&quot;https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/available-language-packs-for-windows?view=windows-11&quot;&gt;Available Language Packs for Windows | Microsoft Learn&lt;/a&gt;.&lt;br /&gt;The timezones you can use can be found by running &#39;tzutil /l&#39; on a Windows device and using the second line of each entry in the call to FindSystemTimeZoneById.&lt;/p&gt;&lt;p&gt;The az-local function helps you convert the UTC times that the &#39;az&#39; commands generate. See the examples in the comment section in the code above on how to use this.&lt;/p&gt;&lt;p&gt;If your cloud sessions are ephemeral (no storage account mounted), then you&#39;ll need to copy-paste this each time you launch a cloud session.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2026/02/azure-cloud-shell-profile-modifications.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-2181150620995410720</guid><pubDate>Mon, 09 Feb 2026 13:40:00 +0000</pubDate><atom:updated>2026-02-10T00:40:37.341+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Az</category><category domain="http://www.blogger.com/atom/ns#">Azure</category><category domain="http://www.blogger.com/atom/ns#">Azure Cloud Shell</category><category domain="http://www.blogger.com/atom/ns#">ExchangeOnlineManagement</category><category domain="http://www.blogger.com/atom/ns#">M365</category><category domain="http://www.blogger.com/atom/ns#">Microsoft 365</category><title>Working Around the Broken Out-Of-The-Box Mess When Using Azure Cloud Shell for M365 Management</title><description>&lt;p&gt;&amp;nbsp;Azure Cloud Shell is a great idea, but it&#39;s that weird cousin no-one wants to associate with.&lt;/p&gt;&lt;p&gt;A perfect example is try accessing it with Device Code Flow blocked on the tenant and wanting to do something pretty simple, like view an Exchange mailbox using Get-EXOMailbox, and look at command output using your regional settings.&lt;/p&gt;&lt;p&gt;Microsoft&#39;s answer to the above is &quot;get f*cked, this won&#39;t work out of the box and have fun deciphering the errors and navigating the wrong answers served up by AI chatbots&quot;. This is because at the end of the day, Microsoft don&#39;t properly test workflows when updating siloed components, nor do they document systems and components and workflows well, nor do they properly obsolete/deprecate their documentation (which means AI chatbot answers can suck hard). Unfortunately bolting on Copilot to everything in a vain attempt to make everything suck less won&#39;t work until they fix the primary root cause, which is concise + consistent + up-to-date documentation which is structured well.&lt;/p&gt;&lt;p&gt;The core problem is that the Az module is pre-loaded, in an effort to help you do something useful from the get-go. This is good, as it&#39;s pretty feature rich for most of the Azure components, but sucks if you&#39;re primarily trying to administer M365 resources such as Exchange Online or PowerShell.&lt;/p&gt;&lt;p&gt;First off, at some point you&#39;re going to see the following warning:&lt;/p&gt;&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #151b23; border-radius: 6px; box-sizing: border-box; color: #f0f6fc; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 11.9px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; tab-size: 4;&quot;&gt;&lt;code class=&quot;notranslate&quot; style=&quot;background: 0px 0px transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 11.9px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; tab-size: 4; word-break: normal;&quot;&gt;WARNING: You&#39;re using Az version x.x.x. The latest version of Az is y.y.y. Upgrade your Az modules using the following commands:
  Update-PSResource Az -WhatIf    -- Simulate updating your Az modules.
  Update-PSResource Az            -- Update your Az modules.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And the thing to realise here is this is meaningless in Azure Cloud Shell, as you cannot update the Az module. This should be an easy fix for the Az module maintainers by adding a test for&amp;nbsp;$ENV:POWERSHELL_DISTRIBUTION_CHANNEL being set to &#39;CloudShell&#39; and not printing the warning, but apparently this has been too difficult since it was reported in December 2024 and is still an open issue :-(&lt;/p&gt;&lt;p&gt;The next problem here is that launching &#39;Connect-ExchangeOnline&#39; throws this really helpful error:&lt;/p&gt;&lt;p&gt;OperationStopped: ObjectStore transient error: Query executes failed. BatchStatusCode: PartialSuccess. Error message: .&lt;/p&gt;&lt;p&gt;I&#39;ll save you the hassle of figuring this out - the error&#39;s being raised because Cloud Shell can&#39;t launch an MFA-aware login dialog in a browser for you. Such a helpful error message. Even as a programmer it&#39;s completely and utterly useless, so whoever was responsible for that really shouldn&#39;t have been paid that week/month they were working on it. Complete incompetence.&lt;/p&gt;&lt;p&gt;It took a few extra chatbot prompts (in Google Gemini, because Copilot was being obtuse) to figure out how to get around this. The fix was to add -DisableWAM to the command:&lt;/p&gt;&lt;p&gt;Connect-ExchangeOnline -DisableWAM&lt;/p&gt;&lt;p&gt;And finally I was able to get a Powershell session to Exchange Online, although I did have to exempt the logged in user from the Conditional Access Policy blocking Device Code Flow first (a whole other blog post on how craptacular Conditional Access can be).&lt;/p&gt;&lt;p&gt;Right, time to examine those mailboxes - this should be easy!&lt;/p&gt;&lt;p&gt;Yeah, no.&lt;/p&gt;&lt;p&gt;This is what I got instead when trying to run &#39;Get-EXOMailbox&#39;:&lt;/p&gt;&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #151b23; border-radius: 6px; box-sizing: border-box; color: #f0f6fc; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 11.9px; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; tab-size: 4;&quot;&gt;&lt;code class=&quot;notranslate&quot; style=&quot;background: 0px 0px transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 11.9px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; tab-size: 4; word-break: normal;&quot;&gt;Get-EXOMailbox: Could not load file or assembly &#39;Microsoft.OData.Core, Version=7.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&#39;. The located assembly&#39;s manifest definition does not match the assembly reference. (0x80131040)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Sigh, of course. I mean just working cleanly out of the box would be too much to ask for.&lt;/p&gt;&lt;p&gt;Again, Copilot started me on a wild goose chase, so I gave up on that and used Gemini again.&lt;/p&gt;&lt;p&gt;Gemini figured out the error was due to the fact that the Az module had loaded an older version of Microsoft.OData.Core, and that the ExchangeOnlineManagement module was unable to load the newer version.&lt;/p&gt;&lt;p&gt;After some persistence by telling Gemini to ignore the -UserPrincipalName parameter and to add the -DisableWAM parameter, Gemini was able to provide me with a function that launches PowerShell as a child process with no profile, allowing me to load the ExchangeOnlineManagement module cleanly without the Az module pollution, and to enter the interactive prompt in the child process.&lt;/p&gt;&lt;p&gt;I then fleshed out the function to get rid of the idiotic US date formats and to also bring back PSReadLine, because no-one wants to revisit their 80&#39;s tty experience :-)&lt;/p&gt;&lt;p&gt;With all that said and done, here is the function:&lt;/p&gt;&lt;pre class=&quot;notranslate&quot; style=&quot;background-color: #151b23; border-radius: 6px; box-sizing: border-box; line-height: 1.45; margin-bottom: 16px; margin-top: 0px; overflow-wrap: normal; overflow: auto; padding: 16px; tab-size: 4;&quot;&gt;&lt;code class=&quot;notranslate&quot; style=&quot;background: 0px 0px transparent; border-radius: 6px; border: 0px; box-sizing: border-box; display: inline; font-size: 11.9px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; tab-size: 4; word-break: normal;&quot;&gt;&lt;span face=&quot;ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace&quot; style=&quot;color: #f0f6fc;&quot;&gt;function Connect-EXOClean {

    pwsh -NoProfile -Command {
        
        # Set culture to en-AU
        $newc = [System.Globalization.CultureInfo]::new(&quot;en-AU&quot;)
        [System.Threading.Thread]::CurrentThread.CurrentCulture = $newc
        [System.Threading.Thread]::CurrentThread.CurrentUICulture = $newc
        [System.Globalization.CultureInfo]::CurrentCulture = $newc

        # PSReadLine is kinda handy
        Import-Module PSReadLine
        Import-Module ExchangeOnlineManagement -ErrorAction SilentlyContinue
        
        try {
            Write-Host &quot;Connecting to Exchange Online (WAM Disabled)...&quot; -ForegroundColor Cyan
            
            Connect-ExchangeOnline -DisableWAM
            
            Write-Host &quot;`n--- ISOLATED SESSION ACTIVE ---&quot; -ForegroundColor Green
            Write-Host &quot;Type &#39;exit&#39; to disconnect and return to Cloud Shell.&quot; -ForegroundColor Yellow
            
            # Enter the interactive sub-prompt
            $Host.EnterNestedPrompt()
        }
        finally {
            # This block runs even if the session crashes or you exit the nested prompt
            Write-Host &quot;`nClosing Exchange session safely...&quot; -ForegroundColor Gray
            Disconnect-ExchangeOnline -Confirm:$false
        }
    }
}&lt;/span&gt;&lt;/code&gt;&lt;code class=&quot;notranslate&quot; style=&quot;background: 0px 0px transparent; border-radius: 6px; border: 0px; box-sizing: border-box; color: #f0f6fc; display: inline; font-family: ui-monospace, SFMono-Regular, &amp;quot;SF Mono&amp;quot;, Menlo, Consolas, &amp;quot;Liberation Mono&amp;quot;, monospace; font-size: 11.9px; line-height: inherit; margin: 0px; overflow-wrap: normal; overflow: visible; padding: 0px; tab-size: 4; word-break: normal;&quot;&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To use, type in &#39;Connect-EXOClean&#39;, and when you&#39;re finished, type in &#39;exit&#39;.&lt;/p&gt;&lt;p&gt;Feel free to change &#39;en-AU&#39; for your local region/culture, so your EXO commands return dates/times in your format and not en-US.&lt;/p&gt;&lt;p&gt;Hope this helps others who&#39;d like to use Azure Cloud Shell for M365 management without constantly having to fight it.&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2026/02/working-around-broken-out-of-box-mess.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-7884677119153807388</guid><pubDate>Tue, 13 Jan 2026 08:27:00 +0000</pubDate><atom:updated>2026-01-13T19:27:39.284+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AVD</category><category domain="http://www.blogger.com/atom/ns#">Azure Virtual Desktop</category><category domain="http://www.blogger.com/atom/ns#">FSLogix</category><category domain="http://www.blogger.com/atom/ns#">OneDrive</category><title>Fixing the Piece of Sh*t that is OneDrive on Azure Virtual Desktop when the Profile Disk Inevitably Corrupts</title><description>&lt;div&gt;Profile Disks with FSLogix and Cloud Cache-only (due to lack of Azure AD-only support for Azure Files) can be pretty crappy, given FSLogix provides no pre-mount or post-mount offline chkdsk to ensure file system integrity of the profile volume. This lack of integrity checking invariably breaks things, such as OneDrive sync, which relies on a clean file system. Performing the offline chkdsk is made harder due to the fact the FSLogix VHDX won&#39;t mount using Powershell/Disk Manager/diskpart, so the only option is to use an AVD session host to log in to the impacted user, and performing a force-unmount chkdsk of the profile disk that&#39;s loaded for the impacted user.&lt;/div&gt;&lt;div&gt;Sometimes the profile is so borked it won&#39;t mount. The only option at this point is to look in C:\ProgramData\Fslogix\Cache for the impacted user, then copy an older .VHDX and .meta file for the impacted user back into the blob storage container used for the cloud cache (can check all the session hosts for different versions), or recreate the profile by renaming/deleting the blob storage container used by the impacted user.&lt;/div&gt;&lt;div&gt;TODO: weekly/monthly copy of the cached profiles to a separate Azure VM/storage disk, as this is easier than implementing a backup system for page blobs, given Microsoft can&#39;t be bothered providing a backup/restore framework for this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Have the impacted user log into an AVD session host&lt;/div&gt;&lt;div&gt;Create a text file named &#39;&amp;lt;user&amp;gt;.txt&#39; in the user&#39;s profile folder&lt;/div&gt;&lt;div&gt;Make sure all apps are closed (browsers, Office, OneDrive)&lt;/div&gt;&lt;div&gt;Don&#39;t bother with ondrive.exe /reset - it rarely fixes the problem, as it doesn&#39;t do a proper reset&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Log on to the AVD session host as an admin user&lt;/div&gt;&lt;div&gt;From an elevated Command Prompt, run &#39;mountvol&#39;&lt;/div&gt;&lt;div&gt;You&#39;ll need to iterate over the entries listed as NO MOUNT POINTS&lt;/div&gt;&lt;div&gt;dir \\?\Volume{GUID}\\Profile&lt;/div&gt;&lt;div&gt;^ - if it&#39;s a profile disk, the first line with show &#39;Volume in drive \\?\Volume{GUID} is Profile-&amp;lt;user&amp;gt;&#39;, and the profile folder contents should list the &#39;&amp;lt;user&amp;gt;.txt&#39; file created earlier&lt;/div&gt;&lt;div&gt;Once you&#39;ve identified the impacted user profile, run &#39;chkdsk /f \\?\Volume{GUID}&#39;&lt;/div&gt;&lt;div&gt;^ - Answer Y to a force dismount&lt;/div&gt;&lt;div&gt;Chkdsk will repair the NTFS volume, fixing the underlying problem preventing OneDrive to sync and also fixing up any Office-related file system corruption&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sign out and sign back in to the impacted user on an AVD session host&lt;/div&gt;&lt;div&gt;Quit OneDrive and any other Office apps&lt;/div&gt;&lt;div&gt;Control Panel &amp;gt; User Accounts &amp;gt; Credential Manager &amp;gt; Windows Credentials&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Remove any Microsoft_OneDrive entries and Office entries&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Only virtualapp/didlogical needs to be there&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Use Task Manager to end explorer.exe for the impacted user&lt;/div&gt;&lt;div&gt;Run Regedit from Task Manager &amp;gt; File &amp;gt; Run New Task&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Rename HKEY_CURRENT_USER\SOFTWARE\Microsoft\OneDrive to OneDrive.OLD&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Go to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace and delete the GUID entries for the OneDrive tenant entries (&quot;OneDrive - &amp;lt;M365 name&amp;gt;&quot; and &quot;&amp;lt;M365 name&amp;gt;&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Run CMD from Task Manager &amp;gt; File &amp;gt; Run New Task&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Cd c:\Users\&amp;lt;user&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Ren &quot;&amp;lt;M365 name&amp;gt;&quot; &quot;&amp;lt;M365 name&amp;gt;.OLD&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Ren &quot;OneDrive - &amp;lt;M365 name&amp;gt;&quot; &quot;OneDrive - &amp;lt;M365 name&amp;gt;.OLD&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- ^ - gets the old OneDrive folders out of the way&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Cd AppData&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- ren Local\OneDrive OneDrive.OLD&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- ^ gets rid of old cache + settings&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Run explorer from Task Manager &amp;gt; File &amp;gt; Run New Task&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The desktop shell will come back up, and now you can re-run OneDrive, sign in as the user and re-sync user content and sync document libraries.&lt;/div&gt;&lt;br /&gt;</description><link>http://blog.chrisara.com.au/2026/01/fixing-piece-of-sht-that-is-onedrive-on.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4046261218623898971</guid><pubDate>Thu, 09 Dec 2021 06:24:00 +0000</pubDate><atom:updated>2021-12-09T17:24:29.042+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google Chrome</category><category domain="http://www.blogger.com/atom/ns#">Office365</category><title>Fixing Exchange Admin Center &gt; Mail Flow &gt; Rules in Incognito Mode</title><description>&lt;p&gt;Yet another example of Microsoft&#39;s inability to provide a polished implementation of, well, anything.&lt;/p&gt;&lt;p&gt;To overcome the HTTP 500 Something Went Wrong frame you get when trying to access Exchange Admin Center &amp;gt; Mail Flow &amp;gt; Rules in Incognito Mode, Microsoft helpfully mention that this is a problem in a yellow info banner and to fix this enable third-party cookies. Yep, all of them. Hmm, no thanks.&lt;/p&gt;&lt;p&gt;To save you some time, here&#39;s the cookies you need to add to the allow list:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;chrome://settings/cookies&lt;/p&gt;&lt;p&gt;Sites that can always use cookies:&lt;/p&gt;&lt;p&gt;[*.]microsoft.com&lt;/p&gt;&lt;p&gt;[*.]microsoftonline.com&lt;/p&gt;&lt;p&gt;[*.]office.com&lt;/p&gt;&lt;p&gt;outlook.office365.com&lt;/p&gt;&lt;p&gt;You&#39;ll still get the yellow info banner, but at least the Rules will now be displayed.&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2021/12/fixing-exchange-admin-center-mail-flow.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-7060518417769379104</guid><pubDate>Thu, 01 Jul 2021 08:20:00 +0000</pubDate><atom:updated>2021-07-01T18:20:31.855+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">CBS</category><category domain="http://www.blogger.com/atom/ns#">DISM</category><category domain="http://www.blogger.com/atom/ns#">Servicing</category><category domain="http://www.blogger.com/atom/ns#">Windows 10</category><category domain="http://www.blogger.com/atom/ns#">Windows Server 2016</category><category domain="http://www.blogger.com/atom/ns#">Windows Server 2019</category><title>Fixing DISM /restorehealth Issues on Windows 10, Server 2016 / 2019</title><description>&lt;p&gt;My notes on repairing broken systems that no longer install updates.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;When /restorehealth fails, check the following:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Perform chkdsk /f on Boot volume&lt;/p&gt;&lt;p&gt;Clear \Windows\SoftwareDistribution\Download after stopping Windows Update service&lt;/p&gt;&lt;p&gt;Set UseWUServer to 0 in HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU if WSUS is being used&lt;/p&gt;&lt;p&gt;Perform DISM /startcomponentcleanup to see if superseded component is causing the problem&lt;/p&gt;&lt;p&gt;Perform DISM /restorehealth to see if problem is fixed&lt;/p&gt;&lt;p&gt;Examine C:\WINDOWS\Logs\DISM\dism.log for errors&lt;/p&gt;&lt;p&gt;Examine C:\WINDOWS\Logs\CBS\CBS.log for errors, especially missing Catalogs&lt;/p&gt;&lt;p&gt;Perform Google Search for associated KB Articles/Updates for missing catalogs&lt;/p&gt;&lt;p&gt;Download update from Microsoft Update Catalog site&lt;/p&gt;&lt;p&gt;Unpack the update with the following command:&lt;/p&gt;&lt;p&gt;Expand &amp;lt;update&amp;gt;.msu -f:* c:\temp&lt;/p&gt;&lt;p&gt;Add the update package to the SxS store with the following command:&lt;/p&gt;&lt;p&gt;Dism /online /add-package /packagepath=c:\temp\&amp;lt;update&amp;gt;.cab&lt;/p&gt;&lt;p&gt;If the missing catalogs are no longer present, or are horribly broken, remove from registry&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageDetect&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Backup/export keys first!&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- Search for package as well; search on the package listed in CBS.log as &#39;CBS Catalog missing&#39;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\PackageIndex&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;- The reference link for the CBS registry edits -&amp;nbsp; &lt;a href=&quot;https://borncity.com/win/2017/04/2cmd6/windows-10-v1703-fix-for-dism-error-0x800f081f/&quot; target=&quot;_blank&quot;&gt;Windows 10 V1703: Fix for DISM error 0x800F081F&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2021/07/fixing-dism-restorehealth-issues-on.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-2427290142582702698</guid><pubDate>Wed, 27 Jan 2021 07:28:00 +0000</pubDate><atom:updated>2021-01-27T18:28:10.024+11:00</atom:updated><title>STOP 0x74 on Windows Virtual Machines</title><description>&lt;p&gt;&amp;nbsp;So I&#39;ve been running into this a fair bit of late.&lt;/p&gt;&lt;p&gt;After chasing down the rabbit hole on the first one, worrying about virtual disk corruption, malware, legacy drivers (it was a P2V image), underlying host physical memory problems, the resolution was surprisingly simple - increase the virtual machine startup memory by 1GB.&lt;/p&gt;&lt;p&gt;Turns out the boot-time drivers had increased in number/size (looking at you anti-malware drivers) and the dynamic memory boot-time driver doesn&#39;t kick in early enough to allow the SYSTEM registry hive to be loaded properly.&lt;/p&gt;&lt;p&gt;So if you run across this in a virtual setting check the VM&#39;s startup memory size and bump it up.&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2021/01/stop-0x74-on-windows-virtual-machines.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-466184011136086007</guid><pubDate>Wed, 27 Jan 2021 07:20:00 +0000</pubDate><atom:updated>2021-01-27T18:20:04.477+11:00</atom:updated><title>RDP to Windows 7/8.1/10 - &quot;An Internal Error Has Occurred&quot; or Black Screen Upon Connection</title><description>&lt;div&gt;I&#39;ve had this error pop up from time to time. Most of the time turning off Persistent Bitmap Caching fixes the problem.&lt;/div&gt;&lt;div&gt;It can also fix the problem where you initiate an RDP connection but are presented with a black screen but a fully functional RDP session (confirmed if you use an RMM tool/VNC on the server to shadow the RDP session).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dPH9nyPAWBFR0NzmiyuqrklAikT2XGxQL8YFO24m1qClgnUIXs9bckHKWKxbRj0LSjLOR1m6pZIGLP6Jpb3dwlOqHXDJgOKFAI4WV1QRStP7YBWcfs-jzfiu9G7XmdtNjziy/s727/mstsc-bitmap-caching.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;727&quot; data-original-width=&quot;612&quot; height=&quot;406&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dPH9nyPAWBFR0NzmiyuqrklAikT2XGxQL8YFO24m1qClgnUIXs9bckHKWKxbRj0LSjLOR1m6pZIGLP6Jpb3dwlOqHXDJgOKFAI4WV1QRStP7YBWcfs-jzfiu9G7XmdtNjziy/w341-h406/mstsc-bitmap-caching.png&quot; width=&quot;341&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Or for those of you who like to edit saved .RDP files in Notepad:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;bitmapcachepersistenable:i:0</description><link>http://blog.chrisara.com.au/2018/05/rdp-to-windows-7-internal-error-has.html</link><author>noreply@blogger.com (stryqx)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9dPH9nyPAWBFR0NzmiyuqrklAikT2XGxQL8YFO24m1qClgnUIXs9bckHKWKxbRj0LSjLOR1m6pZIGLP6Jpb3dwlOqHXDJgOKFAI4WV1QRStP7YBWcfs-jzfiu9G7XmdtNjziy/s72-w341-h406-c/mstsc-bitmap-caching.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-2077698714017808704</guid><pubDate>Tue, 02 Jan 2018 23:57:00 +0000</pubDate><atom:updated>2018-01-03T10:57:43.014+11:00</atom:updated><title>Windows Server Essentials 2016 In-Place Upgrade</title><description>If anyone else is dumb enough like me to in-place upgrade their 2012 R2 Essentials install to 2016 Essentials, then there&#39;s some extra steps you&#39;ll need to take:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;After the first reboot, log in, try to open the Dashboard, then leave the login for 30-45 minutes. This should be long enough for .NET Framework to compile the necessary assemblies. Don&#39;t try anything else at this point. Reboot.&lt;/li&gt;
&lt;li&gt;Get the latest Cumulative Update installed by downloading it from the Windows Update Catalog. Most of the problems I encountered were due to way too many bugs shipped with the RTM build.&lt;/li&gt;
&lt;li&gt;C:\ProgramData\Microsoft\Windows Server\Logs needs Modify access for the NetworkService account&lt;/li&gt;
&lt;li&gt;You may need to reinstall the Essentials Connector for all clients, but especially for an On Premises Exchange Server. You&#39;ll also want to disable then enable the Exchange Server Integration.&lt;/li&gt;
&lt;li&gt;You&#39;ll need to make a backup of HKLM\SOFTWARE\Microsoft\Windows Server&lt;/li&gt;
&lt;li&gt;You&#39;ll then need to change the assemblies version from 6.3.0.0 to 10.0.0.0 under this key (i.e. look for Version=6.3.0.0 and change to Version=10.0.0.0)&lt;/li&gt;
&lt;li&gt;You&#39;ll need to restore the Disabled Tasks under Microsoft\Windows\Windows Server Essentials&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Backup Cleanup, Consistency Check, Macintosh Status Check and Save CEIP Data all have invalid Triggers and Actions&lt;/li&gt;
&lt;li&gt;You&#39;ll need to get these settings from a clean 2016 Essentials install&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
</description><link>http://blog.chrisara.com.au/2018/01/windows-server-essentials-2016-in-place_3.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4844412577088181847</guid><pubDate>Tue, 02 Jan 2018 23:42:00 +0000</pubDate><atom:updated>2018-01-03T10:42:03.080+11:00</atom:updated><title>Set Up a Sophos Access Point on a Sophos Firewall in a Different Subnet</title><description>My first experience with a Sophos Access Point was a painful affair, as the Access Point (an AP55) was on a subnet sitting behind a separate router and the subnet’s DHCP server wasn’t the XG Firewall.&lt;br /&gt;
&lt;br /&gt;
After way too much mucking around I finally came across the following article:&lt;br /&gt;
&lt;a href=&quot;https://community.sophos.com/kb/en-us/119131&quot; target=&quot;_blank&quot;&gt;How to troubleshoot registration issues for the Sophos Access Point&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The upshot was to add Option 234 to the DHCP scope, with Option 234 pointing to the IP address of the XG Firewall you want the Access Point to register with.&lt;br /&gt;
&lt;br /&gt;
For completeness I also placed the Access Point onto the same subnet as the XG Firewall and it also failed to register with the XG Firewall, as the DHCP server for the subnet was a Windows server. After adding Option 234 to the DHCP scope the AP55 showed up on the XG Firewall.</description><link>http://blog.chrisara.com.au/2018/01/set-up-sophos-access-point-on-sophos.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-540622752017546316</guid><pubDate>Thu, 03 Sep 2015 11:56:00 +0000</pubDate><atom:updated>2015-09-03T21:56:05.817+10:00</atom:updated><title>Throttle WSUS Bandwidth During Business Hours</title><description>I keep forgetting the appcmd syntax to set/unset maxBandwidth so I can throttle overall WSUS downloads. This gives me the benefit of reducing link congestion during business hours, and providing maximum link utilization out of hours.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;rem Apply Bandwidth throttle to WSUS Administration site&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;%SYSTEMROOT%\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/sites &quot;/[name=&#39;WSUS&amp;nbsp;Administration&#39;].limits.maxBandwidth:76800&quot; /commit:apphost&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;rem Remove Bandwidth throttle from WSUS Administration site&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;%SYSTEMROOT%\System32\inetsrv\appcmd.exe clear config -section:system.applicationHost/sites &quot;/[name=&#39;WSUS&amp;nbsp;Administration&#39;].limits&quot; /commit:apphost&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Pop the first one into a script and use Task Scheduler to turn it on prior to business hours. Pop the second one into a script and use Task Scheduler to turn it off after business hours. You could of course use the first script with a higher maxBandwidth setting if you want out of hours to still be throttled, just not so much as business hours.</description><link>http://blog.chrisara.com.au/2015/09/throttle-wsus-bandwidth-during-business.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-3620115558079984975</guid><pubDate>Tue, 28 Jul 2015 23:39:00 +0000</pubDate><atom:updated>2015-07-29T09:39:49.115+10:00</atom:updated><title>Creating a Bootable Mac OS X Mavericks ISO</title><description>I&#39;m never going to remember this next time I have to do it - saving it for posterity (and the ability for me to find it easily).&lt;br /&gt;
The original reference is found at &lt;a href=&quot;http://forums.appleinsider.com/t/159955/howto-create-bootable-mavericks-iso#post_2412005&quot;&gt;http://forums.appleinsider.com/t/159955/howto-create-bootable-mavericks-iso#post_2412005&lt;/a&gt;. Thanks CrEOF!&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Mount the installer image&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hdiutil attach /Applications/Install\ OS\ X\ &lt;a class=&quot;vglnk&quot; href=&quot;http://mavericks.app/Contents/SharedSupport/InstallESD.dmg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot; title=&quot;Link added by VigLink&quot;&gt;Mavericks.app/Contents/SharedSupport/InstallESD.dmg&lt;/a&gt; -noverify -nobrowse -mountpoint /Volumes/install_app&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Convert the boot image to a sparse bundle&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Mavericks&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Increase the sparse bundle capacity to accommodate the packages&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hdiutil resize -size 8g /tmp/Mavericks.sparseimage&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Mount the sparse bundle for package addition
hdiutil attach /tmp/Mavericks.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Remove Package link and replace with actual files&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;rm /Volumes/install_build/System/Installation/Packages&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Unmount the installer image&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hdiutil detach /Volumes/install_app&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Unmount the sparse bundle&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hdiutil detach /Volumes/install_build&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Resize the partition in the sparse bundle to remove any free space&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hdiutil resize -size `hdiutil resize -limits /tmp/Mavericks.sparseimage | tail -n 1 | awk &#39;{ print $1 }&#39;`b /tmp/Mavericks.sparseimage&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Convert the sparse bundle to ISO/CD master
hdiutil convert /tmp/Mavericks.sparseimage -format UDTO -o /tmp/Mavericks&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Remove the sparse bundle&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;rm /tmp/Mavericks.sparseimage&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Rename the ISO and move it to the desktop&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;mv /tmp/Mavericks.cdr ~/Desktop/Mavericks.iso&lt;/code&gt;
</description><link>http://blog.chrisara.com.au/2015/07/creating-bootable-mac-os-x-mavericks-iso.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4339365183546536554</guid><pubDate>Wed, 30 Oct 2013 11:25:00 +0000</pubDate><atom:updated>2013-10-30T22:25:57.244+11:00</atom:updated><title>Reset 30 Day Grace Timer for Windows XP/Windows Server 2003</title><description>&lt;p&gt;I had to do this today as part of recovering a system from hardware failure. This won&#39;t be the last time I&#39;ll have to do this, so documented for the next time...&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rundll32.exe syssetup,SetupOobeBnk&lt;/code&gt;&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2013/10/reset-30-day-grace-timer-for-windows.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-5742405132913299392</guid><pubDate>Wed, 30 Oct 2013 11:21:00 +0000</pubDate><atom:updated>2013-10-30T22:21:44.934+11:00</atom:updated><title>iOS 3CXPhone Settings for Internode</title><description>&lt;p&gt;This is the 3CXPhone profile settings on my wife’s iPhone 4S to connect to her Internode NodePhone account (so I don’t forget it for next time):&lt;/p&gt;
&lt;p&gt;&lt;ul&gt;
&lt;li&gt;Name: Internode&lt;/li&gt;
&lt;li&gt;Display: Internode&lt;/li&gt;
&lt;li&gt;Username: &amp;lt;NodePhone number&amp;gt;&lt;/li&gt;
&lt;li&gt;ID: &amp;lt;NodePhone number&amp;gt;&lt;/li&gt;
&lt;li&gt;Password: &amp;lt;NodePhone password&amp;gt;&lt;/li&gt;
&lt;li&gt;Internal PBX Address: 203.2.134.1&lt;/li&gt;
&lt;li&gt;External PBX Address: 203.2.134.1&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2013/10/ios-3cxphone-settings-for-internode.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-7516012679490601743</guid><pubDate>Mon, 06 May 2013 00:39:00 +0000</pubDate><atom:updated>2013-05-06T10:39:07.116+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Office365</category><category domain="http://www.blogger.com/atom/ns#">performance testing</category><title>Microsoft Online Speed Test Alternative</title><description>I keep forgetting this, but the old Microsoft Online Speed Test tool that was at &lt;a href=&quot;http://speedtest.microsoftonline.com/&quot;&gt;http://speedtest.microsoftonline.com/&lt;/a&gt; is no longer active.&lt;br /&gt;
The alternative tool to use is the Office365 Lync Online Transport Reliability IP Probe (TRIPP) tool, located here:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Amsterdam, NL: &lt;a href=&quot;http://trippams.online.lync.com/&quot;&gt;http://trippams.online.lync.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blue Ridge, VA: &lt;a href=&quot;http://trippbl2.online.lync.com/&quot;&gt;http://trippbl2.online.lync.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dublin, IE: &lt;a href=&quot;http://trippdb3.online.lync.com/&quot;&gt;http://trippdb3.online.lync.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hong Kong: &lt;a href=&quot;http://tripphkn.online.lync.com/&quot;&gt;http://tripphkn.online.lync.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;San Antonio, TX: &lt;a href=&quot;http://trippsn2.online.lync.com/&quot;&gt;http://trippsn2.online.lync.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Singapore: &lt;a href=&quot;http://trippsg1.online.lync.com/&quot;&gt;http://trippsg1.online.lync.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
This tool performs the same set of tests that the now defunct Speed Test tool did.
Oh, and Java is required to run the tests, so make sure your Java install is up-to-date with the Web plugin enabled.&lt;br /&gt;</description><link>http://blog.chrisara.com.au/2013/05/microsoft-online-speed-test-alternative.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-5647949292937575639</guid><pubDate>Mon, 04 Feb 2013 09:12:00 +0000</pubDate><atom:updated>2013-02-04T20:12:26.811+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><category domain="http://www.blogger.com/atom/ns#">Windows Server 2008 R2</category><title>Can’t Start Hyper-V VMs with Event ID 12140, 12010 and 12030</title><description>&lt;p&gt;Had a few Hyper-V host systems today that after rebooting failed to restart the VMs that were set to auto-restart. No updates had been installed – the reboots were due to power environment changes.&lt;/p&gt;  &lt;p&gt;Attempting to restart them from Hyper-V Manager simply resulted in the VM status quickly changing from Off to Starting then back to Off.&lt;/p&gt;  &lt;p&gt;Digging though the Event Logs (Applications and Service Logs | Microsoft | Windows | Hyper-V-Worker | Admin) resulted in this:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-Worker-Admin      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-Worker       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4/02/2013 1:42:57 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 12140       &lt;br /&gt;Description:       &lt;br /&gt;&#39;hyper-vm1&#39;: Failed to open attachment &#39;E:\hyper-v\VHDs\hyper-vm1.vhd&#39;. Error: &#39;A device attached to the system is not functioning.&#39; (0x8007001F). (Virtual machine ID 9F3157AA-4875-45C5-BAE4-3D7D5C432B8A)&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-Worker-Admin      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-Worker       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4/02/2013 1:42:57 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 12010       &lt;br /&gt;Description:       &lt;br /&gt;&#39;hyper-vm1&#39; Microsoft Emulated IDE Controller (Instance ID {83F8638B-8DCA-4152-9EDA-2CA8B33039B4}): Failed to Power on with Error &#39;A device attached to the system is not functioning.&#39; (0x8007001F). (Virtual machine ID 9F3157AA-4875-45C5-BAE4-3D7D5C432B8A)&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;code&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-Worker-Admin      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-Worker       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4/02/2013 1:42:57 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 12030       &lt;br /&gt;Description:       &lt;br /&gt;&#39;hyper-vm1&#39; failed to start. (Virtual machine ID 9F3157AA-4875-45C5-BAE4-3D7D5C432B8A)&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;And this one from Hyper-V-VMMS/Admin (Applications and Service Logs | Microsoft | Windows | Hyper-V-VMMS | Admin):&lt;/p&gt;  &lt;p&gt;&lt;code&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-VMMS-Admin     &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft-Windows-Hyper-V-VMMS      &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4/02/2013 1:37:05 PM      &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 14098      &lt;br /&gt;Description:       &lt;br /&gt;&#39;Storage Virtualization Service Provider&#39; driver required by the Virtual Machine Management service is not installed or is disabled. Check your settings or try reinstalling the Hyper-V role.&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;It was this second one that helped me track down the problem. I subsequently found &lt;a href=&quot;http://support.microsoft.com/kb/2013544&quot;&gt;Microsoft Knowledgebase Article 2013544&lt;/a&gt; which listed a similar scenario and recommended changing the FSDepends driver from Manual start to Boot start as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start Registry Editor&lt;/li&gt;    &lt;li&gt;Navigate to the following registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\FsDepends&lt;/li&gt;    &lt;li&gt;Under the FsDepends key, change REG_DWORD value “Start” from 3 to 0&lt;/li&gt;    &lt;li&gt;Restart the server&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The reason is supposedly due to a timing issue between FSDepends.sys (nested volume dependency management driver) and VHDMP.sys (VHD parser and dependency property provider driver), typically triggered by third party backup programs that load tape drivers. This wasn’t the case in my situation, but changing FsDepends from Manual start to Boot start ended up resolving my VM startup problem.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2013/02/cant-start-hyper-v-vms-with-event-id.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4151960096930785787</guid><pubDate>Fri, 23 Nov 2012 07:53:00 +0000</pubDate><atom:updated>2012-11-23T18:53:42.061+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.NET Framework</category><category domain="http://www.blogger.com/atom/ns#">Group Policy</category><category domain="http://www.blogger.com/atom/ns#">Windows 8</category><category domain="http://www.blogger.com/atom/ns#">Windows Server 2012</category><title>Installing .NET Framework 3.5 on Windows Server 2012 and Windows 8</title><description>&lt;p&gt;If you&#39;re getting an installation error code of 0x800F0906 while trying to install .NET Framework 3.5 on a Windows 8 or Windows Server 2012 system, it&#39;s because the initial installation source isn&#39;t available and you&#39;re most likely using WSUS without an appropriate Group Policy Object to redirect to an alternate installation path.&lt;/p&gt;

&lt;p&gt;There are a few ways of handling this - use the installation media and DISM to install it, set up a GPO to use Windows Update as an alternate installation path, or copy the WinSxS folder off the install media to a network share and configuring a GPO to use this share as an alternate installation path.&lt;/p&gt;

&lt;p&gt;If you have the installation media and you need to only do this for a single PC, then the following command will work:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;dism.exe /online /enable-feature /featurename:NetFX3 /Source:D:\sources\sxs&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You may need to replace D: with the drive letter containing the installation media.&lt;/p&gt;

&lt;p&gt;To configure a GPO to use Windows Update, open up Group Policy Management, create and edit a new GPO. Go to Computer Configuration, Policies, Administrative Templates, System. Open up &quot;Specify settings for optional component installation and component repair&quot;, change the setting from Not Configured to Enabled and tick &quot;Contact Windows Update directly to download repair content instead of Windows Server Update Services (WSUS)&quot;. Click OK, close the Group Policy Management Editor window and link the GPO to an appropriate container in AD, then run gpupdate /force on the affected computer.&lt;/p&gt;

&lt;p&gt;If you want to configure a GPO to use a network share, copy the \sources\sxs folder from either a Windows 8 or Windows Server 2012 DVD/ISO to an appropriate location on a server (e.g. \\server\install\win8sxs), then create and edit a new GPO as outlined above. Instead of enabling the WSUS option though, put the network path to the SxS folder in the field for &quot;Alternate source file path&quot;.&lt;/p&gt;

&lt;p&gt;Microsoft also have a knowledge base article on this here - 
&lt;a href=&quot;http://support.microsoft.com/kb/2734782&quot;&gt;Error codes when you try to install the .NET Framework 3.5 in Windows 8 or in Windows Server 2012&lt;/a&gt;&lt;/p&gt;</description><link>http://blog.chrisara.com.au/2012/11/installing-net-framework-35-on-windows.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-99851883765517811</guid><pubDate>Tue, 23 Oct 2012 00:28:00 +0000</pubDate><atom:updated>2012-10-23T11:31:33.935+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Codec</category><category domain="http://www.blogger.com/atom/ns#">Windows 8</category><category domain="http://www.blogger.com/atom/ns#">Windows 8 RT</category><category domain="http://www.blogger.com/atom/ns#">Windows Imaging</category><title>Microsoft Camera Codec Pack Update for Windows 8 and Windows 8 RT – Woot!</title><description>&lt;p&gt;Microsoft have released an update for Windows 8 and Windows 8 RT that provides support for device-specific RAW formats, allowing you to preview these files in Explorer as well as display them in any program that uses the Windows Imaging Codecs.&lt;/p&gt;  &lt;p&gt;The Microsoft Camera Codec Pack provides support for the following device formats:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Canon: Digital Rebel XT, Digital Rebel XTi, EOS 10D, EOS 20D, EOS 30D, EOS 40D, EOS 50D Digital, EOS 60D, EOS 300D, EOS 350D, EOS 400D, EOS 450D, EOS 500D, EOS 550D, EOS 600D, EOS 1000D, EOS 1100D, EOS 5D, EOS 5D Mark II, EOS 5D Mark III, EOS 7D Digital, EOS D30, EOS D60, EOS Digital Rebel, EOS Kiss Digital, EOS Kiss Digital N, EOS Kiss Digital X, EOS Kiss F, EOS Kiss X2, EOS Kiss X3, EOS Kiss X4, EOS Kiss X5, EOS Kiss X50, EOS Rebel T1i, EOS Rebel T2i, EOS Rebel T3, EOS Rebel T3i, EOS Rebel XS, EOS Rebel XSi, EOS-1D, EOS-1D Mark II, EOS-1D Mark II N, EOS-1D Mark III, EOS-1D Mark IV, EOS-1Ds, EOS-1Ds Mark II, EOS-1Ds Mark III, PowerShot G2, PowerShot G3, PowerShot G5, PowerShot G6, PowerShot G9, PowerShot G10, PowerShot G11, PowerShot Pro1, PowerShot S90, PowerShot S95, PowerShot SX1 IS &lt;/li&gt;    &lt;li&gt;Nikon: 1 J1, 1 V1, Coolpix P6000, D1H, D2H, D2Hs, D2X, D2Xs, D3, D3s, D3X, D4, D40, D40x, D50, D60, D70, D70s, D80, D90, D100, D200, D300, D300s, D700, D800, D800E, D3000, D3100, D3200, D5000, D5100, D7000 &lt;/li&gt;    &lt;li&gt;Sony: DSLR-A100, DSLR-A200, DSLR-A230, DSLR-A300, DSLR-A330, DSLR-A350, DSLR-A380, DSLR-A500, DSLR-A550, DSLR-A560, DSLR-A580, DSLR-A700, DSLR-A850, DSLR-A900, Alpha NEX-3, Alpha NEX-5, Alpha NEX-5N, Alpha SLT-A55/A55V, Cyber-shot DSC-R1 &lt;/li&gt;    &lt;li&gt;Olympus: C-7070 Wide Zoom, C-8080 Wide Zoom, E-1, E-3, E-10, E-20, E-30, E-420, E-450, E-520, E-620, EVOLT E-300, EVOLT E-330, EVOLT E-400, EVOLT E-410, EVOLT E-500, EVOLT E-510, PEN E-P1, PEN E-P2, PEN E-PL1 &lt;/li&gt;    &lt;li&gt;Pentax (PEF formats only): *ist D, *ist DL, *ist DS, K10D, K20D, K100D, K100D Super, K110D, K200D, K-5, K-7, K-r, K-x &lt;/li&gt;    &lt;li&gt;Leica: DIGILUX 3, D-LUX 4, M8, M8.2, M9 &lt;/li&gt;    &lt;li&gt;Konica Minolta: ALPHA-7 DIGITAL, DiMAGE A1, DiMAGE A2, DYNAX 7D, Maxxum 7D &lt;/li&gt;    &lt;li&gt;Epson: R-D1 &lt;/li&gt;    &lt;li&gt;Panasonic: Lumix DMC-G1, Lumix DMC-GH1, Lumix DMC-GF1, Lumix DMC-LX3, Lumix DMC-LX5 &lt;/li&gt;    &lt;li&gt;Casio: EX-FH20 &lt;/li&gt;    &lt;li&gt;Kodak: EasyShare Z981, EasyShare Z1015 IS &lt;/li&gt;    &lt;li&gt;Samsung: NX11 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The update can be downloaded from here:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://support.microsoft.com/kb/2712101&quot;&gt;An update that adds Microsoft Camera Codec Pack support to Windows 8 and Windows RT is available&lt;/a&gt;&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2012/10/microsoft-camera-codec-pack-update-for.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4882361730683221710</guid><pubDate>Mon, 13 Aug 2012 10:22:00 +0000</pubDate><atom:updated>2012-08-31T23:58:47.397+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FreeBSD</category><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><title>Hyper-V Integration Components for FreeBSD – Patchfiles</title><description>&lt;p&gt;Call me old fashioned, but I’d much prefer a patchset than having to install a version control package and suck down a source code check out. So please find a patchset for the Hyper-V integration components for the following versions of FreeBSD:&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/stryqx/fbsd82-hyperv.patch?attredirects=0&quot;&gt;FreeBSD 8.2 Hyper-V Integration Components Patchset&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/stryqx/fbsd83-hyperv.patch?attredirects=0&quot;&gt;FreeBSD 8.3 Hyper-V Integration Components Patchset&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/stryqx/fbsd90-hyperv.patch?attredirects=0&quot;&gt;FreeBSD 9.0 Hyper-V Integration Components Patchset&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/stryqx/fbsd91-hyperv.patch?attredirects=0&quot;&gt;FreeBSD 9.1-BETA1 Hyper-V Integration Components Patchset&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Download the patchset, then issue:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;patch –p –d /usr/src &amp;lt; &amp;lt;patchsetfile&amp;gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;to patch the source tree, followed by:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;cd /usr/src; make kernel KERNCONF=HYPERV_VM INSTKERNNAME=kernel.HYPERV&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;to install the Hyper-V enabled kernel to /boot/kernel.HYPERV.&lt;/p&gt;  &lt;p&gt;Before booting to the Hyper-V enabled kernel it’s best to use GEOM labels to mount the partitions. Follow the instructions &lt;a href=&quot;https://github.com/FreeBSDonHyper-V/freebsd/wiki/Build-the-kernel-with-the-HyperV-drivers&quot;&gt;here&lt;/a&gt; to do this. This makes it easy for you to quickly swap between a Hyper-V enabled kernel and a non-Hyper-V enabled kernel – the reason being the Fast IDE storage driver presents itself as a SCSI driver, changing the device node path which prevents /etc/fstab from working correctly.&lt;/p&gt;  &lt;p&gt;It’s worth noting that although I’ve fixed the modules from compiling (compared with the git clone source I pulled down), loading them from a non-Hyper-V enabled kernel will cause a kernel panic. So you need the integration components compiled into the kernel via the HYPERV kernel option.&lt;/p&gt;  &lt;p&gt;The other problem I’ve found is that the network driver mostly works for UDP traffic, but regularly stalls on TCP traffic. Hadn’t had a chance to debug it yet.&lt;/p&gt;  &lt;p&gt;Very happy with the increased disk performance, the ability to get heartbeat information and the ability to cleanly shut down the guests from the Hyper-V host. Looking forward to KVP communication and a working network driver.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2012/08/hyper-v-integration-components-for_13.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>17</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4843901895162483658</guid><pubDate>Fri, 10 Aug 2012 06:47:00 +0000</pubDate><atom:updated>2012-08-10T16:47:10.502+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FreeBSD</category><category domain="http://www.blogger.com/atom/ns#">Hyper-V</category><title>Hyper-V Integration Components for FreeBSD 8.2 has landed!</title><description>&lt;p&gt;The &lt;a href=&quot;http://blogs.technet.com/b/openness/&quot;&gt;Microsoft Openness Blog&lt;/a&gt; has just announced that the &lt;a href=&quot;http://freebsdonhyper-v.github.com/&quot;&gt;github repository for FreeBSD 8.2 Hyper-V integration components&lt;/a&gt; is now live! This is currently a public beta for evaluation purposes only, so expect some rough edges still.&lt;/p&gt;  &lt;p&gt;Instructions for compiling the source code and installing the drivers can be found &lt;a href=&quot;https://github.com/FreeBSDonHyper-V/freebsd/wiki/Build-the-kernel-with-the-HyperV-drivers&quot;&gt;here&lt;/a&gt;. There’s also a &lt;a href=&quot;mailto:freeonhyper-v@lists.launchpad.net&quot;&gt;mailing list&lt;/a&gt; for suggestions and code improvement.&lt;/p&gt;  &lt;p&gt;This gives us heartbeat, time sync, shutdown and accelerated network, IDE and SCSI drivers for FreeBSD 8.2 on Hyper-V Server 2008 R2 and Windows Server 2008 R2 with the Hyper-V role. It’s a pity that this won’t land in time for inclusion into FreeBSD 9.1, but it would be good to see it hit –current and –stable in time for any subsequent releases.&lt;/p&gt;  &lt;p&gt;Guess what I’m doing over the weekend? :-)&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2012/08/hyper-v-integration-components-for.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-2857399128915364724</guid><pubDate>Mon, 30 Jul 2012 22:18:00 +0000</pubDate><atom:updated>2012-07-31T08:18:22.553+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cygwin</category><category domain="http://www.blogger.com/atom/ns#">network</category><category domain="http://www.blogger.com/atom/ns#">performance</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Agentless Bandwidth Testing on Windows</title><description>&lt;p&gt;I needed &lt;a href=&quot;http://en.wikipedia.org/wiki/BWPing&quot;&gt;BWping&lt;/a&gt; and &lt;a href=&quot;http://www.vanheusden.com/httping/&quot;&gt;HTTPing&lt;/a&gt; running on Windows for bandwidth and latency testing of some 3G WAN tails so I compiled them using &lt;a href=&quot;http://www.cygwin.com/&quot;&gt;Cygwin&lt;/a&gt;. They can be found &lt;a href=&quot;http://sites.google.com/site/stryqx/bwping-1.4.zip&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://sites.google.com/site/stryqx/httping-1.5.3.zip&quot;&gt;here&lt;/a&gt; respectively.&lt;/p&gt;  &lt;p&gt;I find &lt;a href=&quot;http://www.ixchariot.com/products/datasheets/qcheck.html&quot;&gt;QCheck&lt;/a&gt; to be a nice tool for bandwidth testing on Windows systems, but it does require a Windows system either side of the link you’re testing.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2012/07/agentless-bandwidth-testing-on-windows.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-5233006268805484400</guid><pubDate>Mon, 16 Jul 2012 08:48:00 +0000</pubDate><atom:updated>2012-07-16T18:48:40.777+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">firewall</category><category domain="http://www.blogger.com/atom/ns#">routing</category><category domain="http://www.blogger.com/atom/ns#">Windows 7</category><title>Null Routes on Windows 7</title><description>&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Null_route&quot;&gt;Null routes&lt;/a&gt; are a useful way to quickly discard packets from an unwanted address or network, especially when you’ve not got immediate or any access to the upstream/gateway router.&lt;/p&gt;  &lt;p&gt;I had a client PC that was being hammered over a port forward from a router I had no administrative control. I logged a support request for the upstream router, but rather than wait two days to chase up the request, I added a null route to the client PC.&lt;/p&gt;  &lt;p&gt;Typically I add a route to a non-existent IP on the network, but the upstream router was intercepting the ARP requests for the non-existent IP and forwarding on the packet.&lt;/p&gt;  &lt;p&gt;I then tried adding a route for the host to point to the loopback address (127.0.0.1), but got a “The route addition failed: The parameter is incorrect” error. Helpful.&lt;/p&gt;  &lt;p&gt;After trial and error I got the null route working by specifying the current default gateway address and the software loopback interface like this:&lt;/p&gt;  &lt;p&gt;route&amp;#160; -p add &amp;lt;IP address&amp;gt; mask 255.255.255.2555 &amp;lt;gateway address&amp;gt; if 1&lt;/p&gt;  &lt;p&gt;You may need to use route print to check to see that the interface number for the loopback interface is 1. If the number isn’t 1, then use that number instead of 1 above.&lt;/p&gt;  &lt;p&gt;If you’re looking at null routing for sshd/OpenSSH/RDP, then have a look at the ServerFault entries &lt;a href=&quot;http://serverfault.com/questions/43360/cygwin-sshd-autoblock-failed-logins/43900#43900&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://serverfault.com/questions/230033/how-to-stop-brute-force-attacks-on-terminal-server-win2008r2/335976#335976&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2012/07/null-routes-on-windows-7.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-5137751181925459469</guid><pubDate>Tue, 12 Jun 2012 09:36:00 +0000</pubDate><atom:updated>2012-06-12T19:36:38.546+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows Remote Management</category><category domain="http://www.blogger.com/atom/ns#">Windows Server 2008 R2</category><category domain="http://www.blogger.com/atom/ns#">WinRM</category><title>Recovering from WinRM Authentication Lockout</title><description>&lt;p&gt;If like me you’re silly enough to lock yourself out of WinRM by removing Kerberos and Negotiate authentication from the WinRM client, you’ll find it a bit difficult to reset the WinRM configuration, because WinRM uses itself to modify the configuration and reset itself (winrm invoke restore).&lt;/p&gt;  &lt;p&gt;I wasn’t particularly interested in performing a restore on my laptop, so I went hunting for the registry location for WinRM’s client configuration. The best TechNet could provide me with was “The configuration information is stored in the registry” which is pretty crap, even by Microsoft’s standards.&lt;/p&gt;  &lt;p&gt;Resorting to a registry search – thankfully I had added the remote end to the TrustedHosts list – I came up with the registry location:&lt;/p&gt;  &lt;p&gt;HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client&lt;/p&gt;  &lt;p&gt;Setting auth_kerberos and auth_negotiate to 1&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/-p2hOHtZbCxM/T9cNdkC2RrI/AAAAAAAAAlM/tkD31SwMAv0/s1600-h/image%25255B5%25255D.png&quot;&gt;&lt;img style=&quot;display: inline&quot; title=&quot;Setting auth_kerberos and auth_negotiate to 1&quot; alt=&quot;Setting auth_kerberos and auth_negotiate to 1&quot; src=&quot;http://lh3.ggpht.com/-g4Tia_CUT94/T9cNj9YMMKI/AAAAAAAAAlU/X3cn2vYosUA/image_thumb%25255B3%25255D.png?imgmax=800&quot; width=&quot;338&quot; height=&quot;40&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;and restarting the Windows Remote Management (WS-Management) service got me up and going again.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2012/06/recovering-from-winrm-authentication.html</link><author>noreply@blogger.com (stryqx)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-g4Tia_CUT94/T9cNj9YMMKI/AAAAAAAAAlU/X3cn2vYosUA/s72-c/image_thumb%25255B3%25255D.png?imgmax=800" height="72" width="72"/><thr:total>11</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4513389996522779849</guid><pubDate>Thu, 22 Dec 2011 09:57:00 +0000</pubDate><atom:updated>2011-12-22T20:57:54.956+11:00</atom:updated><title>Useful Network Connectivity Tool</title><description>&lt;p&gt;Off the back of my previous Windows Server Developer Preview problem I also came across the Microsoft &lt;a href=&quot;http://www.microsoft.com/windows/using/tools/igd/default.mspx&quot;&gt;Internet Connectivity Evaluation Tool&lt;/a&gt;. Quite useful for determining the NAT capability, ECN capability, TCP throughput, UPnP capability and multiple connection capability of your router.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2011/12/useful-network-connectivity-tool.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-8271100384836296749</guid><pubDate>Thu, 22 Dec 2011 09:49:00 +0000</pubDate><atom:updated>2011-12-22T20:49:38.480+11:00</atom:updated><title>Windows Server 8 Developer Preview - Networking Problem</title><description>&lt;p&gt;So I fired up a copy on a spare whitebox only to find HTTP and SMB outbound traffic timing out. Bizarrely ping and traceroute were working, so ICMP and UDP were working, as was inbound SMB connections – just not outbound. Did the usual tricks – upgrade network drivers, disabled NIC-based offloading and modified the usual suspects via netsh (Task Offload, Chimney Offload, RWIN tuning) to no avail.&lt;/p&gt;  &lt;p&gt;It this point I compared the ‘netsh int tcp show global’ and ‘netsh int ip show global’ outputs with the defaults from a Windows Server 2008 R2 box and noticed that ‘ECN Capability’ in the TCP Global Parameters for Windows Server 8 Developer Preview was Enabled. I set this to disabled using:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;netsh int tcp set global ecn=disabled&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;and outbound connectivity was established.&lt;/p&gt;  </description><link>http://blog.chrisara.com.au/2011/12/windows-server-8-developer-preview.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8683766.post-4001209245438823964</guid><pubDate>Thu, 01 Sep 2011 14:37:00 +0000</pubDate><atom:updated>2011-09-02T00:37:18.502+10:00</atom:updated><title>Images Are Fixed Now</title><description>I&#39;ve restored all the blog images now. Did I mention I hate Picasa Albums?</description><link>http://blog.chrisara.com.au/2011/09/images-are-fixed-now.html</link><author>noreply@blogger.com (stryqx)</author><thr:total>0</thr:total></item></channel></rss>