Skip to main content

Error Code 0x80004005 and 0x80070035 on Virtual Machine

Today I got a strange problem about share folder. Some virtual machines cannot access network share path. It gave me Unspecified Error 0x80004005 when I opened a share folder on explorer. It gave me The network path was not found 0x80070035 when I opened same share folder by clicking StartRun.



[do_widget "Language Switcher" wrap=aside title=false]

Later I noticed it's even not possible to open C$ and admin$
of local machine. It more like something wrong on guest OS level. People in internet says IPv6 should be disabled, NETBIOS should be enabled, or local policy should be changed…etc. It's actually not the case I faced. After deep dig into the problem I figured out it related to lanman service. Somehow LanmanWorkstation
was removed on Providerorder
key in registry path HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNetworkProviderOrder. People also says VMware Tools upgrading caused the problem. I did testing in my lab, I built a Windows 2008 R2 Enterprise VM on ESXi 5.1 Update 1, VMware Tools version was 9.0.5. Then I moved the VM to a ESXi 5.5 Update 2 host and upgraded VMware Tools to associated version 9.4.10. I didn't see the key changed. I think it's nothing related to ESXi.

Following is some useful information for reference:

Windows guest cannot update hgfs.dat or vmhgs.dat


ProviderOrder

Popular posts from this blog

Connect-NsxtServer shows "Unable to connect to the remote server"

When you run Connect-NsxtServer in the PowerCLI, it may show "Unable to connect to the remote server".  Because the error message is a little bit confusing with other login issues. It's not easy to troubleshoot. The actual reason is the NSX-T uses a self-signed certificate, and the PowerCLI cannot accept the certificate automatically. The fix is super easy. You need to set the PowerCLI to ignore the invalid certificate with the following command: Set-PowerCLIConfiguration -Scope User -InvalidCertificateAction:Ignore -Confirm:$false

Setup Terraform and Ansible for Windows provisionon CentOS

Provisioning Windows machines with Terraform is easy. Configuring Windows machines with Ansible is also not complex. However, it's a little bit challenging to combine them. The following steps are some ideas about handling a Windows machine from provisioning to post configuration without modifying the winrm configuration on the guest operating system. Install required repos for yum. yum -y install https://repo.ius.io/ius-release-el7.rpm yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm yum -y install epel-release yum -y install yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo Install  Terraform . sudo yum -y install terraform Install  Ansible . sudo yum -y install ansible Install  Kerberos . yum -y install gcc python-devel krb5-devel krb5-libs krb5-workstation

How to List All Users in Terraform Cloud

Terraform has a rich API. However, the API documentation does not mention how to list all users. We can leverage the organization membership API and the PowerShell command  Invoke-RestMethod  to get a user list. 1. Create an organization token in Terraform Cloud. 2. Create the token variable ( $Token ) in PowerShell. $Token = "abcde" 3. Create the API parameters variable in PowerShell. $params = @{ Uri = "https://app.terraform.io/api/v2/organizations/ZHENGWU/organization-memberships?page%5Bsize%5D=100" Authentication = "Bearer" Token = $Token ContentType = "application/vnd.api+json" } Note: You need to replace ZHENGWU with your own organization name. And I used 100 at the end of the URI to retrieve the first 100 users. It can be any number.  4. Retrieve the API return and list the user's email address. $Test = Invoke-RestMethod @params $Test.data.attributes.email