Error Installing TensorFlow on Windows 10

When trying to install TensorFlow on my Windows 10 PC I was getting the following error.

C:\Users\peter.grant>pip3 install --upgrade tensorflow
Collecting tensorflow
 Using cached tensorflow-1.4.0-cp35-cp35m-win_amd64.whl
Exception:
Traceback (most recent call last):
 File "c:\users\peter.grant\appdata\local\programs\python\python35\lib\shutil.py", line 387, in _rmtree_unsafe
 os.unlink(fullname)
PermissionError: [WinError 5] Access is denied: 'C:\\Users\\PETER~1.GRA\\AppData\\Local\\Temp\\pip-hl4pb6zn-unpack\\tensorflow-1.4.0-cp35-cp35m-win_amd64.whl'

During handling of the above exception, another exception occurred:
  • Windows 10
  • Python 3.5.4 64-bit
  • TensofFlow 1.4.0

Turns out the solution was to run the following command to install (using the URL)

pip install –upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.1-cp35-cp35m-win_amd64.whl

Also ensure you use the above Python version (and make sure it’s 64-bit). I had to uninstall all versions and reinstall 3.5 to get this to work.

Microsoft’s Docker Implementation on Windows Server 2016

I came across this great Microsoft video with Mark Russinovich talking about Microsoft’s implementation of Docker containers in Windows Server 2016.

Microsoft have both a shared kernel implementation which is how Docker for Linux works as well as a Hyper-V ‘lightweight’ implementation which includes a mini OS with kernel included (ie mini VM)

Worth a watch if you’re into Docker and containers…

Group Policy WMI Namespace Warning

When creating WMI filters you may get the following warnings on Windows Server 2012 R2 (possibly other versions as well).

” Either the namespace entered is not a valid namespace on the local computer or you do not have access to this namespace on this computer.  It is possible this is a valid namespace on the remote computer(s).  If you wish to use this namespace, press OK.  Press cancel to choose another namespace. “

WMI Bug

After a lot of research and testing it seems like this can be ignored. Providing your WMI query is valid the WMI filter still applies, at least from the testing I’ve done. At this stage I’m treating this as a bug. I’d welcome comments by anyone who has an explanation.

Group Policy Mechanics – A Deep Dive

Group Policy MechanicsDid you ever want to know how Group Policy really works behind the scenes, such as how Active Directory knows that a GPO is linked up to a particular OU or how it connects up to the files in Sysvol? If you do then this is the post for you.

Why is it useful to understand the deep dive mechanics?

Two reasons:

  1. Troubleshooting – if you understand how something works then you’re more likely to be able to fix it
  2. You’re a geek! – I mean that in a nice way. If you’re really into this stuff and want to expand your knowledge and make yourself stand out from your colleagues, then this extra bit of knowledge can help.

Continue reading ‘Group Policy Mechanics – A Deep Dive’ »

GPO Inaccessible error message in the GPMC

This may be seen within the Group Policy Management Console (GPMC) when the permissions on the GPO have been changed. By default the Authenticated Users group (which covers all Users and Computers within the domain) has Read and Apply group policy permissions. This means that the GPO will apply to any users or computers within scope. i.e. where the GPO is linked to a Site, Domain or OU that the user/computer is a member of.

If a GPO admin has removed these permissions which may have been done in an attempt to apply GPO filtering AND if the user seeing the message is not a Domain Admin then this message may appear. Domain Admins by default have Read access to GPOs hence why they should not normally see this message, however if their Read permissions have also been removed then they would get the error.

GPO inaccessible Continue reading ‘GPO Inaccessible error message in the GPMC’ »

Group Policy Security Filtering Deep Dive

SecurityFilteringHow does Security Filtering work under the hood?

The standard way of targeting Group Policy is by linking the GPOs to Sites, Domains or Organizational Units. This is fine for many scenarios but it has some drawbacks. An important one is when you want to have a large number of users or computers in one OU i.e. the “New York Users” OU but you also want to apply a specific GPO to a subset of users.

There are a couple of ways to do this:

  • Security Filtering
  • WMI Filtering

In this post I’ll explain how Security Filtering works and some of the considerations, specifically about whether to remove the “Authenticated Users” group.

Continue reading ‘Group Policy Security Filtering Deep Dive’ »

VMware vCloud Air Disaster Recovery Gottchas

gottcha

I was recently on a vCloud Air DR project for a customer and came across a number of gottchas that I thought would be useful to highlight.

VMs with hardware version < ver. 7

Virtual machines need to be at least version 7 or greater in order to successfully replicate using the vSphere replication appliance to vCloud Air DR

Attached virtual devices

Virtual machines with attached devices such as serial ports need these detached before they can be replicated into vCloud Air DR

VMs with .vmdk files greater than 2TB

There is a limit on the size of disks within vCloud Air and disks that are greater than 2TB in size must be pre-created in vCloud Air DR by VMware vCloud Air Ops support in order to be supported.

Continue reading ‘VMware vCloud Air Disaster Recovery Gottchas’ »

Connecting vCloud Air to vCAC

One of my first challenges when I received access to our vCHS environment was to connect our internal vCAC environment to vCHS.

Here’s a quick setup guide and assumes a brand new vCAC deployment. Unless otherwise stated all actions are from within vCAC

1. Select  Infrastructure > Endpoints and then create a new endpoint of type vApp (vCloud Director).

The Address can be found within the vCHS dashboard under Related Links > vCloud Director API URL. (It’s on the the part up to and including the portnumber. The organisation name is the last part of the API URL after the last backslash 1

Continue reading ‘Connecting vCloud Air to vCAC’ »