WMI Error in Windows Server 2008 (WMI Provider) - c++

I've implemented a WMI provider (Window service, Instance, Methods and Properties provider).
It works fine on Windows Server 2003, but when it run on Windows Server 2008 with non-local administrator user, I cannot query it.
The error I get is 0x8004101d - unexpected error.
When the service user is a local admin everything is OK.
What could it be???
Thanks!

OK, the problem was that I didn't specify the HostingModel, so it defaulted to NetworkServiceHost. The one needed one is LocalSystemHostOrSelfHost (that is the default in prior to Vista OSs).

Related

Installing Qlik Sense on Windows 2012 r2

I'm trying to install Qlik Sense Desktop on Windows Server 2012 R2. The problem I believe is with the name entered as hostname during installation.
I tried using the hostname during installation process as the name of the server machine as well as the the ip address of the windows server but I get below error message whenever I try loading the Qlik sense hub app after installation
This site can’t be reached
If you're logged into the server, try https://localhost/qmc rather than the hostname. That should always work unless the services have failed to start up or something.
If you can get in there, then you can amend the accepted hostnames in the Virtual Proxy settings in the "Host Allow List" section.
If you can't get in there, it's possible it's trying to use the hostname you entered to connect between services - your best bet is to do a full uninstall and re-install - and probably keep the default hostname it proposes as this should always work and you can add additional hostnames at a later date.
Are the services up and running ? Have you see if one of the ports used by QlikSense are available or were used by other application ?

Click once application to connect to remote server

I have added this question on ServerFault but no one replied.
I have a .net application which calls a webservice deployed on my local windows server 2012 on IIS, and the sql server database resides on that server too. All employees connect to the same service and DB since we're all on the same domain, and I publish the app and webservice to the server through visual studio (2012).
Now I need to make employees access this application when they are outside the company's network, so I deployed the webservice on IIS on one of our remote windows 2012 servers, I created a public shared folder in my remote server and added to app webservice files to it and in visual studio I changed the publish method to web deploy and filled in the information as below:
Server: https://x.x.x.x/
Site Name: https://x.x.x.x/PublicFolder
Destication URL: https://x.x.x.x/PublicFolder/Application
When I click Validate Connection, it fails with the following message:
Could not connect to the remote computer ("x.x.x.x"). on the remote
computer make sure that Web Deploy is installed and that the required
process ("Web Management Service") is started. Learn more at:
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Unable to connect to the remote server
Note that I tried to replace https with http and I got another error:
Could not connect to the remote computer ("x.x.x.x"). on the remote
computer make sure that Web Deploy is installed and that the required
process ("Web Management Service") is started. Learn more at:
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN.
the remote server returned an error: (401)Unauthorized
I went to the previous link and I did what they suggested:
Create a separate user group MSDepSvcUsers on remote computer.
Create an local account A on both local & remote computer.
Add A to MSDepSvcUsers on remote computer.
Use account A to publish, this will allow you to publish without
needing to use built-in admin account.
but the same error (NOT_ADMIN) remained
UPDATE: I found another possible solution:
Add/modify windows registery key
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\”
and set it “1”.
After I added this registry key, the error changed to:
site 'http:' does not exist ... #ERROR_SITE_DOES_NOT_EXIST
So now if I put wrong credentials, I get the unauthorized error, if I use correct credentials I get side does not exist error.
What should I do?
It worked!!
I mean the connection, it's now validated, all I had to do is change site name from "http://x.x.x.x/PublicFolder" to "Default Web Site\SiteName" !!
This was really confusing, finally got it!

402.2.1260 IIS7 Windows Server 2008 R2 Web Service

I have a 3rd party webservice that runs by posting a soap message directly to a dll.
It runs perfectly on my development machine, but when I try and deploy it to Windows 2008 R2 64-bit using IIS 7 it fails, indicating error 404 2 1260 in the IIS7 log.
I have done all of the normal stuff, including:
Setting the ISAPI and CGI Restrictions,
Adding the Handler Mappings and setting them to Execute,
Setting Handler Mappings Feature Permissions to Execute
but none of that helps.
When I enable Failed Request Logging, the lowest-level detail that I can get is:
Error Code 0x800704ec
Error Code 2147943660
Error message IsapiModule This program is blocked by group policy
What is going on!?
The DLL was a 32-bit DLL.
By default, IIS 7 running on Windows Server 2008 R2 64bit doesn't allow 32bit dlls to run.
There's a little setting in the Application Pool Advanced Settings called Enable 32-Bit Applications. Set it to True in the application pool to which your web service belongs, and it should start working!

Windows Integrated Authentication fails ONLY if web svcs client is on same machine as IIS server

I have a web service running under IIS7 on a server with a host header set so that it receives requests made to http://myserver1.mydomain.com.
I've set Windows INtegrated Authentication to Enabled and everything else (basic, anonymous, etc) to Disabled.
I'm testing the web service using a powershell script, and it works fine when I run it from my workstation against http://myserver1.mydomain.com
However, when I run the same exact script on the IIS server itself, I get a 401-Unauthorized message.
In addition, I've tried installing the web service on a second server, myserver2.mydomain.com. Again I can call my test script fine from BOTH my workstation and from myserver1.
So it seems the only issue is when the client is on the same box as the web server itself - somehow the windows credentials are not being passed or recognized.
I tried playing with IE settings on myserver1 (checked and unchecked 'Enable Windows Integrated Authentication', and added the URL to Local Sites). That did not seem to have an effect.
When I look at the IIS logs, I see the 401 unauthorized line but very little other information.
I see basically the same behavior when testing with IE (v9) - works from my workstation but not when IE is running on the IIS server.
I found the answer after several hours:
By default, there is something called a LoopbackCheck which will reject windows authentication if the host header used for the site does not match the local host's name. This behavior will only be seen when the client is on the local host. The check is there to defeat possible reflection attacks.
More details here:
http://support.microsoft.com/kb/896861
The kb item discusses ways to disable the Loopback check, but I ended up just switching from using host headers to ports to distinguish the different sites on the IIS server.
Thanks to those who gave assistance.
Try checking the actual credential that is being passed when you are running on the server itself. Often times you will be running on some system account that doesn't have access to the resource in question.
For example, on your box your credentials are running as...
MYDOMAIN\MYNAME
and the server will be something like...
SYSTEM\SYSTEM_ACCOUNT
and so this will fail because 'SYSTEM\SYSTEM_ACCOUNT' doesn't have credentials.
If this is the case, you can fix the problem in one of two ways.
Give 'SYSTEM\SYSTEM_ACCOUNT' access to the resource in question. Most people would avoid this strategy due to security concerns (which is why the account has no access in the first place).
Impersonate, or change the credentials of the client manually to something that does have access to the resource, 'MYDOMAIN\MYNAME' for example. This is what most people would probably go with, including myself.

CascadingDropDownList not working with anonymous access

I use a CascadingDropDownList of the AJAXControlToolkit in a ASP.NET MCMS 2002 web application. The CascadingDropDownList works as expected until "Anonymous access" and "Integrated Windows Authentication" flags are both checked (and this is the situation in the production environment) in the Directory Security settings on the website under IIS.
The error I get is:
500 Internal Server Error
No web service found at:
If I uncheck the anonymous access or the windows authentication everything is ok.
Any suggestions?
Modifying:
ServicePath="~/IB20/Services/RegioniProvinceService.asmx"
in:
ServicePath="http:///Services/RegioniProvinceService.asmx"
solved the issue.
It seems that having "Anonymous access" and "Integrated authentication" both checked, brokes the functionality if the ServicePath of the CascadingDropDownList is file-system oriented.