Online certificate check failed

I downloaded viber a while ago on my nokia 5230 and it was working perfectly. Recently when I opened viber on my phone I received a message saying that there s a new version of viber available on ovi store that I should get. Which I did. But when updating viber my phone says online certificate check failed. And the installation stops there. What does that mean? Can someone please help? This is highly frustrating. Almost smashed my phone because of that. Please help.
Solved!
Go to Solution.

Tasha0190 wrote:
I received a message saying that there s a new version of viber available on ovi store that I should get. Which I did.
I guess, you used this item.
Although scoobyman’s answer solves this issue, it opens up your Nokia to viruses and other bad applications. Signing makes sure, the author of the app is the one he claims to be. Signing makes the author responsible for what he does. If an author does something bad, his certificates gets revoked. OCSP makes sure, the signature is still good. Therefore, revert these two settings, after you installed an app you are trusting.
Furthermore, an application from the Nokia Store should work with any setting. Any error or warning message is not acceptable and should be forwarded to the Nokia Store team for further analysis.
a) Menu » Settings » Installations » Installations settings » Software installation
The state of this item does not matter because Viber is signed correctly. Therefore, ‘Signed only’ works for Viber and is recommend.
b) Menu » Settings » Installations » Installations settings » Online certificate check (OCSP)
The state of this item does matter. Therefore, please, set is at least to ‘On’. In Wireshark, I checked that the certificate is not revoked but good. Therefore, I have no idea what is wrong here. It this not normal.
Conclusion:
Set ‘Online certificate check’ from ‘must be passed’ to ‘On’. If you still get the installation security warning ‘Unable to verify supplier’, report this to the Nokia Store team for further investigation.
Change ‘Software installation’ from to ‘off’ only when you are absolutely trusting that app. Revert ‘Software installation’ to ‘signed only’ after the installation of that single particular app.

Similar Messages

  • Updating N-Gage on N79 Certificate Validation Fail...

    I'm trying to update the N-Gage software. I downloaded the update directly onto the phone, it checks the certificate which fails and throws me out of the update. I can't install Opera either because of this issue.
    Anyone else know what's going on?
    Nokia N79 Seal Grey
    Software Version: 11.049.205.4 (28/11/2008)Nokia BH-503 Silver Bluetooth Headphones

    Well, I downloaded the file from the N-Gage website, transferred it to my phone and tried to install it. I don't see how this is different to the normal method. It still tried to to do the Online Certificate Check and it failed. This is very very infuriating. If Nokia want me to buy the X6, they better get stupid things like this fixed.
    Nokia N79 Seal Grey
    Software Version: 11.049.205.4 (28/11/2008)Nokia BH-503 Silver Bluetooth Headphones

  • Exchange 2010 - The certificate status could not be determined because the revocation check failed.

    I have tried everything I have found online to get my DigiCert to work.
    I have exported the cert and imported it into my child domains and they look perfect.
    It is just my parent domain having issues.
    netsh winhttp show proxy
    does show my correct proxy server for http and https and port 8080
    I have tried name, FQDN and IP address.
    In the Bypass-list I have tried none, *.domain.com, and a list of all domains and child domains in my forest.
    I have flushed the cache
    certutil -urlcache crl delete
    certutil -urlcache ocsp delete
    and rebooted the Exchange 2010 (Windows 2008 R2) server
    No matter what, I still see in my Server Configuration for the parent domain's DigiCert cert the message
    The certificate status could not be determined because the revocation check failed.
    with a red X on the left hand icon.  Again, Child domains all say "The certificate is valid for Exchange Server usage."
    Note: In spite of having the red X, I was able to assign via EMS the services.
    Webmail works fine.  Outlook Anywhere fails... I suspect it is due to my red X problem.
    Suggestions?
    Thanks in Advance
    Jim.
    Jim.

    I have contacted DigiCert and they said the cert is working per their utility, hence the problem is outside the scope of their support.
    I have followed, several times, http://support.microsoft.com/kb/979694
    http://www.digicert.com/help/  reports all is well.
    The DigiCertUtil.exe reports all is well and happy.
    I have run
    netsh winhttp set proxy proxy-server="http=myproxy:8080;https=myproxy:8080" bypass-list="*.mydomain.com"
    Current WinHTTP proxy settings:
        Proxy Server(s) :  http=myproxy:8080;https=myproxy:8080
        Bypass List     :  *.mydomain.com
    I have flushed the cache using the commands
    certutil -urlcache crl delete
    certutil -urlcache ocsp delete
     I still see in my Server Configuration for the parent domain's DigiCert cert the message
    "The certificate status could not be determined because the revocation check failed."
    with a red X on the left hand certificate icon. 
    To verify the cert via command line:
    certutil -verify -urlfetch c:\mail_domain_com.cer
    LoadCert(Cert) returned ASN1 bad tag value met. 0x8009310b (ASN: 267)
    CertUtil: -verify command FAILED: 0x8009310b (ASN: 267)
    CertUtil: ASN1 bad tag value met.
    I suspect this is why I cannot get Outlook Anywhere to connect.
    Child domains show a happy certificate icon. Parent domain does not.
    Still scratching my head.
    Thanks all!
    Jim.

  • EMC - Certificate status could not be determined because revocation check failed.

    I've exhausted my resources on this issue and am reaching out for some assistance. I have setup Server 2008 R2 Enterprise SP1, running Exchange 2010 SP1. In EMC I have successfully imported a GoDaddy SSL certificate. Although I am receiving the message -
    "The certificate status could not be determined because the revocation check failed."
    Here are the steps I've taken to troubleshoot this so far:
    [PS] C:\Users\Administrator\Desktop>netsh winhttp show proxy
    Current WinHTTP proxy settings:
    Direct access (no proxy server).
    As you can see, direct access. Which is true, no proxy's on this network.
    For good measure, I'll dump the urlcache.
    certutil -urlcache ocsp delete
    certutil -urlcache crl delete
    Both return 0, reboot server.
    Comes back up, same message in EMC.
    From PS, I test exactly what its getting from GoDaddy.
    [PS] C:\Users\Administrator\Desktop>certutil -f -urlfetch -verify mail.fluxlabs.net.crt
    Issuer:
    SERIALNUMBER=07969287
    CN=Go Daddy Secure Certification Authority
    OU=http://certificates.godaddy.com/repository
    O=GoDaddy.com, Inc.
    L=Scottsdale
    S=Arizona
    C=US
    Subject:
    CN=mail.fluxlabs.net
    OU=Domain Control Validated
    O=mail.fluxlabs.net
    Cert Serial Number: 27b60918638e0d
    dwFlags = CA_VERIFY_FLAGS_ALLOW_UNTRUSTED_ROOT (0x1)
    dwFlags = CA_VERIFY_FLAGS_IGNORE_OFFLINE (0x2)
    dwFlags = CA_VERIFY_FLAGS_FULL_CHAIN_REVOCATION (0x8)
    dwFlags = CA_VERIFY_FLAGS_CONSOLE_TRACE (0x20000000)
    dwFlags = CA_VERIFY_FLAGS_DUMP_CHAIN (0x40000000)
    ChainFlags = CERT_CHAIN_REVOCATION_CHECK_CHAIN (0x20000000)
    HCCE_LOCAL_MACHINE
    CERT_CHAIN_POLICY_BASE
    -------- CERT_CHAIN_CONTEXT --------
    ChainContext.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    ChainContext.dwErrorStatus = CERT_TRUST_REVOCATION_STATUS_UNKNOWN (0x40)
    ChainContext.dwErrorStatus = CERT_TRUST_IS_OFFLINE_REVOCATION (0x1000000)
    SimpleChain.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    SimpleChain.dwErrorStatus = CERT_TRUST_REVOCATION_STATUS_UNKNOWN (0x40)
    SimpleChain.dwErrorStatus = CERT_TRUST_IS_OFFLINE_REVOCATION (0x1000000)
    CertContext[0][0]: dwInfoStatus=102 dwErrorStatus=1000040
    Issuer: SERIALNUMBER=07969287, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy.com, Inc.", L=S
    cottsdale, S=Arizona, C=US
    NotBefore: 8/20/2011 7:49 PM
    NotAfter: 8/20/2012 7:16 PM
    Subject: CN=mail.fluxlabs.net, OU=Domain Control Validated, O=mail.fluxlabs.net
    Serial: 27b60918638e0d
    SubjectAltName: DNS Name=mail.fluxlabs.net, DNS Name=www.mail.fluxlabs.net
    33 49 57 5d 6e d8 6b aa b9 61 73 95 44 07 c9 2e 55 6e 47 10
    Element.dwInfoStatus = CERT_TRUST_HAS_KEY_MATCH_ISSUER (0x2)
    Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    Element.dwErrorStatus = CERT_TRUST_REVOCATION_STATUS_UNKNOWN (0x40)
    Element.dwErrorStatus = CERT_TRUST_IS_OFFLINE_REVOCATION (0x1000000)
    ---------------- Certificate AIA ----------------
    Verified "Certificate (0)" Time: 4
    [0.0] http://certificates.godaddy.com/repository/gd_intermediate.crt
    ---------------- Certificate CDP ----------------
    Expired "Base CRL (05)" Time: 4
    [0.0] http://crl.godaddy.com/gds1-55.crl
    ---------------- Base CRL CDP ----------------
    No URLs "None" Time: 0
    ---------------- Certificate OCSP ----------------
    Expired "OCSP" Time: 4
    [0.0] http://ocsp.godaddy.com/
    CRL (null):
    Issuer: CN=Go Daddy Validation Authority, OU=http://certs.godaddy.com/repository/, O="GoDaddy.com, Inc.", L=Scottsdale, S=Arizona, C=US
    e5 53 19 6c 54 87 8c 62 23 1b b9 11 e1 d8 3d 3f b2 04 77 3f
    Issuance[0] = 2.16.840.1.114413.1.7.23.1
    Application[0] = 1.3.6.1.5.5.7.3.1 Server Authentication
    Application[1] = 1.3.6.1.5.5.7.3.2 Client Authentication
    CertContext[0][1]: dwInfoStatus=102 dwErrorStatus=0
    Issuer: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
    NotBefore: 11/15/2006 8:54 PM
    NotAfter: 11/15/2026 8:54 PM
    Subject: SERIALNUMBER=07969287, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy.com, Inc.", L=
    Scottsdale, S=Arizona, C=US
    Serial: 0301
    7c 46 56 c3 06 1f 7f 4c 0d 67 b3 19 a8 55 f6 0e bc 11 fc 44
    Element.dwInfoStatus = CERT_TRUST_HAS_KEY_MATCH_ISSUER (0x2)
    Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    ---------------- Certificate AIA ----------------
    No URLs "None" Time: 0
    ---------------- Certificate CDP ----------------
    Verified "Base CRL" Time: 4
    [0.0] http://certificates.godaddy.com/repository/gdroot.crl
    ---------------- Base CRL CDP ----------------
    No URLs "None" Time: 0
    ---------------- Certificate OCSP ----------------
    Expired "OCSP" Time: 4
    [0.0] http://ocsp.godaddy.com
    CRL (null):
    Issuer: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
    da 1e d5 63 5c 05 58 50 4e db d2 4e e8 9d 28 9d c4 36 b3 1e
    Application[0] = 1.3.6.1.5.5.7.3.1 Server Authentication
    Application[1] = 1.3.6.1.5.5.7.3.2 Client Authentication
    Application[2] = 1.3.6.1.5.5.7.3.4 Secure Email
    Application[3] = 1.3.6.1.5.5.7.3.3 Code Signing
    CertContext[0][2]: dwInfoStatus=109 dwErrorStatus=0
    Issuer: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
    NotBefore: 6/29/2004 12:06 PM
    NotAfter: 6/29/2034 12:06 PM
    Subject: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
    Serial: 00
    27 96 ba e6 3f 18 01 e2 77 26 1b a0 d7 77 70 02 8f 20 ee e4
    Element.dwInfoStatus = CERT_TRUST_HAS_EXACT_MATCH_ISSUER (0x1)
    Element.dwInfoStatus = CERT_TRUST_IS_SELF_SIGNED (0x8)
    Element.dwInfoStatus = CERT_TRUST_HAS_PREFERRED_ISSUER (0x100)
    ---------------- Certificate AIA ----------------
    No URLs "None" Time: 0
    ---------------- Certificate CDP ----------------
    No URLs "None" Time: 0
    ---------------- Certificate OCSP ----------------
    No URLs "None" Time: 0
    Application[0] = 1.3.6.1.5.5.7.3.1 Server Authentication
    Application[1] = 1.3.6.1.5.5.7.3.2 Client Authentication
    Application[2] = 1.3.6.1.5.5.7.3.4 Secure Email
    Application[3] = 1.3.6.1.5.5.7.3.3 Code Signing
    Exclude leaf cert:
    b1 04 4b 90 a1 d3 48 de 46 bd d7 50 20 e3 44 b8 3f 68 39 f7
    Full chain:
    68 36 4d 37 2e 96 bd d2 aa 77 3f d0 e8 78 a9 e6 68 bd 7d 71
    Verified Issuance Policies:
    2.16.840.1.114413.1.7.23.1
    Verified Application Policies:
    1.3.6.1.5.5.7.3.1 Server Authentication
    1.3.6.1.5.5.7.3.2 Client Authentication
    Cert is an End Entity certificate
    ERROR: Verifying leaf certificate revocation status returned The revocation function was unable to check revocation because the revocation server was
    offline. 0x80092013 (-2146885613)
    CertUtil: The revocation function was unable to check revocation because the revocation server was offline.
    CertUtil: -verify command completed successfully.
    As you can see, the "revocation server is offline."
    So I run the same test from another server on the LAN.
    Verified Issuance Policies:
    2.16.840.1.114413.1.7.23.1
    Verified Application Policies:
    1.3.6.1.5.5.7.3.1 Server Authentication
    1.3.6.1.5.5.7.3.2 Client Authentication
    Cert is an End Entity certificate
    Leaf certificate revocation check passed
    CertUtil: -verify command completed successfully.
    It passes. The server's firewall has been disabled. DNS cache has been cleared. I have verified everything I can, and still failing to verify.

    [PS] C:\Users\Administrator\Desktop>Get-ExchangeCertificate |fl
    AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.Acces
    trol.CryptoKeyAccessRule}
    CertificateDomains : {mail.fluxlabs.net, www.mail.fluxlabs.net}
    HasPrivateKey : True
    IsSelfSigned : False
    Issuer : SERIALNUMBER=07969287, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy
    , Inc.", L=Scottsdale, S=Arizona, C=US
    NotAfter : 8/20/2012 7:16:57 PM
    NotBefore : 8/20/2011 7:49:30 PM
    PublicKeySize : 2048
    RootCAType : ThirdParty
    SerialNumber : 27B60918638E0D
    Services : IMAP, POP, IIS, SMTP
    Status : RevocationCheckFailure
    Subject : CN=mail.fluxlabs.net, OU=Domain Control Validated, O=mail.fluxlabs.net
    Thumbprint : 3349575D6ED86BAAB96173954407C92E556E4710
    [PS] C:\Users\Administrator\Desktop>Enable-ExchangeCertificate -Thumbprint 3349575D6ED86BAAB96173954407C92E556E4710 -Services POP,IMAP,SMTP,IIS
    The command has already been executed. Yes, I have seen those sites. Neither have worked. Like I said, it is directly connected; and no proxies are set.
    -- Jeremy MCSpadden Flux Labs

  • What happens when HTTPS communication fails during certificate check?

    Hello Experts,
    I have a scenario where a Bapi functionality(server proxy) is exposed as a webservice .
    So scenario will be SOAP -> XI -> Proxy (calls a BAPI)
    Here we are going to use HTTPS (SSL).
    I would like to know :
    What happens when a check for certificate validation fails in XI? It may be due to invalid certificate, expired certificate or a request from unauthorised user-
    - Will it be raised as a exception and we need to do some  configuration to inform it back to Sender?
    - Will the message fail in Moni with red flag ?
    - Alerts will be created ?
    Please share your experiences and expert sugestions.
    Thanks in Advance!!
    Regards,
    XI Queries.

    Hi Abhishek,
      Thanks for the reply. I will keep this in mind and design the scenario & error handling accordingly.
    Appropriate points awarded
    Kind regards,
    Xi Queries.

  • My N80 can't check online certificates

    Hi! When I try to install some software (like Putty) my N80, he try to verify online certificate validity. Then display error: "Unable check certificate validity online. Check settings". In settings->Security->Certif.management I have 6 (six) installed certificates. I try to edit or delete them, but I can't. Where is my problem?Message Edited by ivogradeff on 24-Sep-200707:20 AM

    Go to Application Manager, options, settings and set the option to "off" for Online Cert.check. In case you want it to be "ON" then you should have a proper GPRS activated.
    Rohinton Contractor

  • Oes11sp2 yast online updates - validation check failed

    Did all online updates September 29th for my sles11sp3 oes11sp2 servers and restarted servers. Went to check today and I'm getting a validation check failed error.
    Validation check failed
    File repomd.xml from repository sles11-sp3-updates.... is signed but the integrity check failed.

    I'm getting the same thing on multiple servers, will try again later!

  • Revocation checked failed status in Certificate on Exchange 2013

    Hi,
    Got error in certificate that we have get from Godaddy for exchange 2013 which was earlier working fine, but now getting error on status that Revocation checked failed and because of that in outlook user getting certificate error.
    please suggest to fix this issue.

    We've had this error before, and it was solved by configuring the proxy settings.
    > via netsh winhttp set proxy
    > set-exchangeserver  InternetWebProxy setting (don't know if still
    applicable in Exchange2013)
    > iexplorer proxy settings
    ps : You can also
    check the crl location, when you take a look into the properties of the certificate. (crl distribution points)

  • Failed online license check for Add-ons

    I'm using creative cloud on mac and am a fully paid member.
    I have the latest updates to Photoshop & Extension manager.
    In Photoshop CC 2014 when I browse to extensions to try and run 'AnimDessin2' it is not visible (the only add on visible is Kuler) despite installing it from the Adobe add on site. Similarly if I try to install it manually by downloading the add on and running it from extension manager CC I get a message saying 'Failed online license check for Add-ons'.
    I've tried signing in and out of creative cloud but have no luck in using this or any other extension from the add on site.
    Please help.

    Please follow How to install the plugins in Photoshop CC 2014 - Powered by Kayako eSupport Help Desk Software to install it.

  • Essbase Product Existence Check Fails against the Shared Services Server

    Hello Everyone,
    I am a new to Essbase
    When I am launching the EAS web console and trying to log in, its giving me an error saying "Could not connect to Administration Server".
    I looked in ESSBASE log file its showing an error 1051429 : "Essbase Product Existence Check Fails against the Shared Services Server with Error []"
    This error actually started when I copied an Essbase Application from one of my computers to another computer. All I simply did is copied the application folder into "app" folder. I am not sure if migration
    is possible just by copying and pasting the application folders. I am not sure if doing this messed up security with shared services. Also under c:\hyperion\essbase folder I see another text file named "SharedServices_Security_Client".
    Its log for today is below:
    2011-11-03 19:36:15,375 INFO [main] CSS is initialized as client. The default logger properties will be loaded com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 19:36:15,531 INFO [main] CSS Log file will be generated at C:\Hyperion\logs\essbase\SharedServices_Security_Client.log com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 19:36:15,531 INFO [main] Configure CSS with registry com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 19:36:15,531 INFO [main] Initializing CSS from Registry. com.hyperion.css.common.configuration.CSSConfigurationManager.getConfiguration(Unknown Source)
    2011-11-03 19:36:18,531 INFO [main] Trying to get Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 19:36:45,531 ERROR [main] 20:1092:Failed to initialize EPM System registry. [Root Cause: hyperion.jdbc.base.BaseSQLException: [Hyperion][SQLServer JDBC Driver]Error establishing socket to host and port: chandan:1433. Reason: Connection refused: connect ] com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 19:36:45,531 ERROR [main] Arguments: param1={}, param2=null, param3=C:\Hyperion\logs\essbase\, com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 19:36:45,531 INFO [main] CSS system intialization failed. : [44156 ms] com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 19:44:14,765 INFO [main] CSS is initialized as client. The default logger properties will be loaded com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 19:44:14,781 INFO [main] CSS Log file will be generated at C:\Hyperion\logs\essbase\SharedServices_Security_Client.log com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 19:44:14,781 INFO [main] Configure CSS with registry com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 19:44:14,781 INFO [main] Initializing CSS from Registry. com.hyperion.css.common.configuration.CSSConfigurationManager.getConfiguration(Unknown Source)
    2011-11-03 19:44:14,828 INFO [main] Trying to get Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 19:44:16,265 INFO [main] Got Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 19:44:16,796 INFO [main] Got hub location from Registry:http://chandan:28080 com.hyperion.css.registry.RegistryManager.getHubLocationFromRegistry(Unknown Source)
    2011-11-03 19:44:16,953 INFO [main] Got native directory location from Registry:chandan:28089 com.hyperion.css.registry.RegistryManager.getNativeProviderLocationFromRegistry(Unknown Source)
    2011-11-03 19:44:16,953 INFO [main] URL constructed out of values in Registry database:ldap://chandan:28089/dc=css,dc=hyperion,dc=com com.hyperion.css.common.configuration.CSSConfigurationImplXML.initConfiguration(Unknown Source)
    2011-11-03 20:02:47,687 INFO [main] CSS is initialized as client. The default logger properties will be loaded com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:02:47,859 INFO [main] CSS Log file will be generated at C:\Hyperion\logs\essbase\SharedServices_Security_Client.log com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:02:47,859 INFO [main] Configure CSS with registry com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:02:47,859 INFO [main] Initializing CSS from Registry. com.hyperion.css.common.configuration.CSSConfigurationManager.getConfiguration(Unknown Source)
    2011-11-03 20:02:48,328 INFO [main] Trying to get Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:03:08,921 ERROR [main] 20:1092:Failed to initialize EPM System registry. [Root Cause: hyperion.jdbc.base.BaseSQLException: [Hyperion][SQLServer JDBC Driver]Error establishing socket to host and port: chandan:1433. Reason: Connection refused: connect ] com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:03:08,921 ERROR [main] Arguments: param1={}, param2=null, param3=C:\Hyperion\logs\essbase\, com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:03:08,921 INFO [main] CSS system intialization failed. : [63140 ms] com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:05:37,343 INFO [main] CSS is initialized as client. The default logger properties will be loaded com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:05:37,343 INFO [main] CSS Log file will be generated at C:\Hyperion\logs\essbase\SharedServices_Security_Client.log com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:05:37,343 INFO [main] Configure CSS with registry com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:05:37,343 INFO [main] Initializing CSS from Registry. com.hyperion.css.common.configuration.CSSConfigurationManager.getConfiguration(Unknown Source)
    2011-11-03 20:05:37,390 INFO [main] Trying to get Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:05:49,875 ERROR [main] 20:1092:Failed to initialize EPM System registry. [Root Cause: hyperion.jdbc.base.BaseSQLException: [Hyperion][SQLServer JDBC Driver]Error establishing socket to host and port: chandan:1433. Reason: Connection refused: connect ] com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:05:49,875 ERROR [main] Arguments: param1={}, param2=null, param3=C:\Hyperion\logs\essbase\, com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:05:49,875 INFO [main] CSS system intialization failed. : [12625 ms] com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:06:42,859 INFO [main] CSS is initialized as client. The default logger properties will be loaded com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:06:42,859 INFO [main] CSS Log file will be generated at C:\Hyperion\logs\essbase\SharedServices_Security_Client.log com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:06:42,859 INFO [main] Configure CSS with registry com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:06:42,859 INFO [main] Initializing CSS from Registry. com.hyperion.css.common.configuration.CSSConfigurationManager.getConfiguration(Unknown Source)
    2011-11-03 20:06:42,890 INFO [main] Trying to get Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:06:45,359 INFO [main] Got Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:06:47,218 INFO [main] Got hub location from Registry:http://chandan:28080 com.hyperion.css.registry.RegistryManager.getHubLocationFromRegistry(Unknown Source)
    2011-11-03 20:06:48,250 INFO [main] Got native directory location from Registry:chandan:28089 com.hyperion.css.registry.RegistryManager.getNativeProviderLocationFromRegistry(Unknown Source)
    2011-11-03 20:06:48,265 INFO [main] URL constructed out of values in Registry database:ldap://chandan:28089/dc=css,dc=hyperion,dc=com com.hyperion.css.common.configuration.CSSConfigurationImplXML.initConfiguration(Unknown Source)
    2011-11-03 20:07:17,359 ERROR [main] 80:6007:Failed to load SAP certificate from keystore at SAP.keystore. Ignore if SAP provider is not configured.[Root Cause: Invalid keystore format ] com.hyperion.css.SAPSecurity.loadSAPCertificate(Unknown Source)
    2011-11-03 20:10:12,937 INFO [main] CSS is initialized as client. The default logger properties will be loaded com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:10:12,937 INFO [main] CSS Log file will be generated at C:\Hyperion\logs\essbase\SharedServices_Security_Client.log com.hyperion.css.CSSSystem.<init>(Unknown Source)
    2011-11-03 20:10:12,937 INFO [main] Configure CSS with registry com.hyperion.css.CSSSystem.initCSSSystem(Unknown Source)
    2011-11-03 20:10:12,937 INFO [main] Initializing CSS from Registry. com.hyperion.css.common.configuration.CSSConfigurationManager.getConfiguration(Unknown Source)
    2011-11-03 20:10:13,000 INFO [main] Trying to get Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:10:14,265 INFO [main] Got Registry Instance com.hyperion.css.registry.RegistryManager.<init>(Unknown Source)
    2011-11-03 20:10:14,671 INFO [main] Got hub location from Registry:http://chandan:28080 com.hyperion.css.registry.RegistryManager.getHubLocationFromRegistry(Unknown Source)
    2011-11-03 20:10:14,812 INFO [main] Got native directory location from Registry:chandan:28089 com.hyperion.css.registry.RegistryManager.getNativeProviderLocationFromRegistry(Unknown Source)
    2011-11-03 20:10:14,812 INFO [main] URL constructed out of values in Registry database:ldap://chandan:28089/dc=css,dc=hyperion,dc=com com.hyperion.css.common.configuration.CSSConfigurationImplXML.initConfiguration(Unknown Source)
    2011-11-03 20:10:15,234 ERROR [main] 80:6007:Failed to load SAP certificate from keystore at SAP.keystore. Ignore if SAP provider is not configured.[Root Cause: Invalid keystore format ] com.hyperion.css.SAPSecurity.loadSAPCertificate(Unknown Source)
    I dont know how to resolve this.
    Please Help
    Thank you

    From the log
    Error establishing socket to host and port: chandan:1433. Reason: Connection refused: connect
    The SQL server itself is not running or TCP/IP is disabled. That can be confirmed by runing netstat and see it is listed there.
    Then run telnet chandan 1433 and see it can connect
    To enable the TCP refer to this link
    Re: error establishing socket to host and port: EPM11:1433

  • Online backup getting failed with error BR0278E - Invalid Argument

    Hi All,
    Online backup in Production system is getting failed when taken using DB13.  Last week the SAP Production Server was migrated to SAN and it was up & running fine.
    SAP System - ECC 6
    OS                - AIX 5.3
    Database      - Oracle 10g
    Even the Archive log backup has been successful, but Online backup is failing.  Following is the error log:
    BR0280I BRBACKUP time stamp: 2009-09-10 12.00.46
    BR0057I Backup of database: RTP
    BR0058I BRBACKUP action ID: bebkzprw
    BR0059I BRBACKUP function ID: ant
    BR0110I Backup mode: ALL
    BR0077I Database file for backup: /oracle/RTP/sapbackup/cntrlRTP.dbf
    BR0061I 41 files found for backup, total size 97416.297 MB
    BR0143I Backup type: online
    BR0112I Files will not be compressed
    BR0130I Backup device type: tape
    BR0102I Following backup device will be used: /dev/rmt3.1
    BR0103I Following backup volume will be used: RTPB01
    BR0289I BRARCHIVE will be started at the end of processing
    BR0134I Unattended mode with 'force' active - no operator confirmation allowed
    BR0208I Volume with name RTPB01 required in device /dev/rmt3.1
    BR0280I BRBACKUP time stamp: 2009-09-10 12.00.46
    BR0226I Rewinding tape volume in device /dev/rmt3 ...
    BR0351I Restoring /oracle/RTP/sapbackup/.tape.hdr0
    BR0355I from /dev/rmt3.1 ...
    BR0241I Checking label on volume in device /dev/rmt3.1
    BR0242I Scratch volume in device /dev/rmt3.1 will be renamed to RTPB01
    BR0280I BRBACKUP time stamp: 2009-09-10 12.00.46
    BR0226I Rewinding tape volume in device /dev/rmt3 ...
    BR0202I Saving /oracle/RTP/sapbackup/.tape.hdr0
    BR0203I to /dev/rmt3.1 ...
    We have checked using different tapes, restarted SAP, etc but could not resolve it.
    Please suggest further.
    Thanks
    Vamsi

    Hi Vamsi
    Please go through below link
    Re: onLine backup fails with error BR0278E
    There is similar problem with the exact error you are facing for online backup and its solution is given in above link.
    Let us know if this information was useful to you.
    with regards,
    Parin Hariyani

  • The verification of the server's certificate chain failed

    Hi All,
    Not sure this is the right forum for this but never mind.
    I am trying to get abap2GApps working and am having problems with the client certificates.
    I am getting the below error in ICM :-
    [Thr 06] Mon Jul 30 09:34:47 2012
    [Thr 06] *** ERROR during SecudeSSL_SessionStart() from SSL_connect()==SSL_ERROR_SSL
    [Thr 06]    session uses PSE file "/usr/sap/BWD/DVEBMGS58/sec/SAPSSLC.pse"
    [Thr 06] SecudeSSL_SessionStart: SSL_connect() failed
      secude_error 9 (0x00000009) = "the verification of the server's certificate chain failed"
    [Thr 06] >>            Begin of Secude-SSL Errorstack            >>
    [Thr 06] ERROR in ssl3_get_server_certificate: (9/0x0009) the verification of the server's certificate chain failed
    ERROR in af_verify_Certificates: (24/0x0018) Chain of certificates is incomplete : "OU=Equifax Secure Certificate Authority, O=E
    ERROR in get_path: (24/0x0018) Can't get path because the chain of certificates is incomplete
    [Thr 06] <<            End of Secude-SSL Errorstack
    [Thr 06]   SSL_get_state() returned 0x00002131 "SSLv3 read server certificate B"
    [Thr 06]   SSL NI-sock: local=172.30.7.170:59036  peer=172.30.8.100:80
    [Thr 06] <<- ERROR: SapSSLSessionStart(sssl_hdl=60000000053910f0)==SSSLERR_SSL_CONNECT
    [Thr 06] *** ERROR => IcmConnInitClientSSL: SapSSLSessionStart failed (-57): SSSLERR_SSL_CONNECT {000726d5} [icxxconn_mt.c 2031]
    Having already got the accounts.google.com SSL certificate chain installed and working I can't get the docs.google.com SSL chain working.
    For accounts.google.com they use (this set works) :-
    1) CN=accounts.google.com, O=Google Inc, L=Mountain View, SP=California, C=US
    2) CN=Thawte SGC CA, O=Thawte Consulting (Pty) Ltd., C=ZA
    3) OU=Class 3 Public Primary Certification Authority, O="VeriSign, Inc.", C=US
    For docs.google.com they use a different set of SSL certs. :-
    1) CN=*.google.com, O=Google Inc, L=Mountain View, SP=California, C=US
    2) CN=Google Internet Authority, O=Google Inc, C=US
    3) OU=Equifax Secure Certificate Authority, O=Equifax, C=US
    Can anyone explain what I am doing wrong or how to correct this?
    Thanks
    Craig

    Further UPDATE
    After removing every certificate related to docs.google.com I still get the same error!
    I have even tried downloading the root certificate directly from GeoTrust themselves and yet I still get the same error.
    I have even resorted to running SAP program ZSSF_TEST_PSE from note 800240 to check the PSE and all is well!
    Referring to SAP Note 1318906 suggests I am missing a certificate in the chain but I am not!
    "Situation: The ICM is in the client role and the following entry is displayed in the trace:
    ERROR in ssl3_get_server_certificate: (9/0x0009) the verification of the server's certificate chain failed
    Reason:You try to set up a secure connection to a server, but the validity of the certificate cannot be verified because the required certificates are not available.
    Solution:The missing certificates are listed in the trace file. You must use transaction STRUST to insert these certificates in the Personal Security Environment (PSE) that is used for the connection. The certificates are usually made available to you by the server administrator. If the certificates are public Certification Authority (CA) certificates, you can also request the certificates there."
    What could possibly causing this?
    Please help!
    Craig

  • SQL Server not starting - FallBack certificate initialization failed

    I can not start my SqlServer 2008 Express. The problem seemed to start when I changed my "Built In account, Log in as" from Local Service to Local System. If I try to change back to Local Service I get the messagebox with WMI Provider Error, "Cannot find object or property. [0x80092004]".
    Getting a bit confused, but read http://support.microsoft.com/kb/900497    mentioned about 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib, Value name: Certificate, Type: REG_SZ not having a valid value then 2005 would not starte - my value is blank. Changing it to 0 did not work.
    How can I import a valid certificate using SQL Server Configuration Manager. And how do you turn off Forced Encryption? Not sure if this would fix it, but couldn't hurt.
    ======================================
    2009-03-08 01:39:06.01 Server      Error: 17190, Severity: 16, State: 1.
    2009-03-08 01:39:06.01 Server      FallBack certificate initialization failed with error code: 1.
    2009-03-08 01:39:06.01 Server      Unable to initialize SSL encryption because a valid certificate could not be found, and it is not possible to create a self-signed certificate.
    2009-03-08 01:39:06.01 Server      Error: 17182, Severity: 16, State: 1.
    2009-03-08 01:39:06.01 Server      TDSSNIClient initialization failed with error 0x80092004, status code 0x80. Reason: Unable to initialize SSL support. Cannot find object or property.
    2009-03-08 01:39:06.01 Server      Error: 17182, Severity: 16, State: 1.
    2009-03-08 01:39:06.01 Server      TDSSNIClient initialization failed with error 0x80092004, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. Cannot find object or property.
    2009-03-08 01:39:06.01 Server      Error: 17826, Severity: 18, State: 3.
    2009-03-08 01:39:06.01 Server      Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
    2009-03-08 01:39:06.01 Server      Error: 17120, Severity: 16, State: 1.
    2009-03-08 01:39:06.01 Server      SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
    2009-03-08 01:39:06.07 spid14s     Clearing tempdb database.
    =====================================
    Any help would be appreciated.
    TheBrenda

    I know it's probably too late to help with the original poster, but we had this same issue and nothing we tried resolved the problem. Finally, we opened a technical incident with Microsoft and this is the solution that we were provided:
    Take backup of below registry key.
    HKLM\SOFTWARE\Microsoft\Cryptography\MachineGuid This key should ideally have the GUID of the machine without curly braces, so {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} becomes xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    Then delete the braces.
    Try to reboot and start the SQL service . If service don’t start then Uninstall and reinstall SQL.
    The above solution worked on two separate machines exhibiting this problem.

  • Primary Site Deploy Prerequisite Check Failed

    1. Symptom description: check failed
    SQL instance when you run the Prerequisite Check SCCM 2012 for a new primary site.
    2. Environment: My remote SQL Server 2008 R2 SP1 CU6 and uses
    a named instance called INST01 (SRV302 \ INST01). My server will be the primary site watch requirements (SRV501). I
    have a VM to test that was used to ratify the SCCM 2012 R2 (vSRV210).This
    VM had a primary site that was the basis of data in SRV302 \ INST01, this site has been removed by the Configuration Manager Setup wizard, he correctly remove the database SCCM 2012.
    3. The
    exact error message: When trying to run the installation of SCCM 2012 server SRV501, filling in as the database and SRV302.domain.com INST01 for instance, it shows the Prerequisite Check Failed one item as:
    "Dedicated SQL Server instance: Configuration Manager requires a dedicated SQL Server instance to host excellant site database. You selected the SQL Server instance That site hosts the Configuration Manager
    database for another site. Select a different SQL Server instance for this new site to use, or
    resolve the conflict by uninstalling The Other excellant site or moving to a different database SQL Server instance. "
    In the file ConfigMgrPrereq.log the message is the same:
    srv501.domain.com; Dedicated SQL Server instance; Error; Configuration Manager requires a dedicated SQL Server instance to host its site database. You selected a SQL Server instance that hosts the site">"<05/03/2012 10:00:21>
    srv501.domain.com; Dedicated SQL Server instance; Error; Configuration Manager requires a dedicated SQL Server instance to host excellant site database. You selected the SQL Server Instance That Hosts the site Configuration
    Manager database for another site. Select a different SQL Server instance for this new site to use, or resolves the conflict by uninstalling The Other database excellant site or moving to a different SQL Server instance. "
    4. Any
    recent relevant configuration change (s): Only completely removed the test site that was with the database in SRV302 \ INST01, rebooted the server and tried to start the installation of the production site using the instance where it was before (no more no
    database SCCM it).
    5. Tech diagnosis history: Have you tried doing a restart of the server and
    the instance of SQL without success. I did a test site to reinstall the test SCCM VM vSRV210, pointing
    to the same instance and it works. But the production server 2012 SCCM has to be SRV501. You
    can not create a new instance of the database only for the production site.
    What can I do to install the SCCM 2012 instance that (SRV302 \ INST01)?
    Is there a procedure for cleanup of an instance of SQL for SCCM 2012?
    Is there any way to bypass this check in the SQL setup SCCM 2012?
    Att. Rodrigo Krug

    Hello,
    Beware of the solution, after removingthe key
    SMS even passed the Prerequisite
    Check, but during the installation,
    it stopped with the following error:
    Can not write CertBootStrap\SMS_SQL_SERVER\ registry
    key on server srv.domain.com.
    The operating system Reported error
    4
    ERROR: Failed to write
    to registry certificate configurationon server
    srv302.domain.com.
    ERROR: Failed to create
    SQL Server [srv302.domain.com]certificate
    remotely.
    I had to recreate the keys from the file. Reg
    so that the installation was successful.
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\CertBootStrap]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\CertBootStrap\SMS_SQL_SERVER]
    No values ​​registered.
    With that I succeeded in installing the
    primary site in that instance
    where we had another base before
    SCCM 2012.
    This was supposed to be your solution?
    Att. Rodrigo Krug

  • How can I stop a task sequence if a custom HTA preflight check fails?

    In our currently deployment method, we launch an HTA program before initiating the OSD process. This is only when run from the RAP menu, not via PXE.  When a user initiates OSD through that menu, they get a message prompting them to close Outlook, and
    a countdown of 5 mins, then OSD starts.  They also have the ability to click on an 'OK' button to proceed on their own.
    I've created a new script which checks WMI if Outlook and/or OCS are open, and if the machine is running on battery, spit out a "Failed" response and stop the HTA.  I've also added a "recheck" button to re-do the check, and an 'OK
    button if people jsut want to continue.  
    I'm curious if there is a way to prevent the task sequence from continuing if any of those conditions arent met.  Currently it just pops up and says "Failed, Cannot conitue", but if they close the window, the task sequence thinks the program
    has run, and the OSD migration starts.  I'd like to be able and get the script to cancel the OSD process if a check fails.
    Has anyone had success with this, using WINXP? I'd use the MS pre-flight check but it's only for WIN7.

    Interesting. Thanks for the response.  Is there anybody out there that can assist with VBS part of the solution?
    Here's the code I'm working with.  Currently the battery piece isnt working as it should but I can figure that our, eventually.  I'd like to get Jason's proposed solution in the code.  If this isn't the right place, I'll take this somewhere
    else.
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>OSD Preflight checks</title>
    <HTA:APPLICATION
    APPLICATIONNAME="OSD Preflight checks"
    ID="objOSDPreReqChecks"
    SCROLL="no"
    CONTEXTMENU="no"
    SINGLEINSTANCE="no"
    MAXIMIZEBUTTON="no"
    MINIMIZEBUTTON="no"
    WINDOWSTATE="normal"/>
    <!-- #region STYLEs-->
    <style type="text/css">
    H1{color:Black;text-align:center;font-family: Arial, Helvetica, sans-serif;font-size: 26px;}
    p{font-family:"Arial";font-size:10px;}
    fail{color:Red;text-align:center;}
    .Version {float:left; font-size:1.0em;font-style:italic;color:#888888;font-weight:bold;}
    .Header1 {width: 180px; text-align: right;font-weight:bold;}<!-- '1st column heading -->
    H2 {font-family: Arial, Helvetica, sans-serif; text-align: center;}
    H3 {font-style: italic;}
    .style2 {width: 180px; text-align: left;}
    .Header2 {width: 150px; text-align: right;font-weight:bold;}<!-- '2nd column heading -->
    .style4 {width: 410px; text-align: left;}
    .StatusBar
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    .hidden {display: none; visibility: hidden;}
    </style><!-- #endregion -->
    </head>
    <script language="VBScript" type="text/vbscript">
    '======================================================================================
    ' Script
    ' Version
    ' Purpose To check a machine is suitable for taking an OS deployment
    '======================================================================================
    'Features
    ' Modular design
    ' Verbose "Debug Mode"
    ' In-built data validation
    ' Custom error handling
    ' Custom error codes - 90x0
    ' Generic WMI handler
    'BUGfix: Change CLng to CDbl to avoid overflow (in GetRAM)
    'fixed - moved head section to top to become head > script > body
    'fixed - fCheckModel display with leading ,
    'fixed - fgetmodels dictionary list
    Option Explicit
    ' #region GLOBAL DECLARATIONS: Persistent fold region
    '======================================================================================
    'GLOBAL Vars
    'Things to just display (in GUI)
    Dim strRAM
    Dim strCPUInfo
    Dim strCPUName
    Dim strCPUDesc
    Dim iCPUCount
    Dim iCPUCoreCount
    Dim iRAM
    Dim strBIOSver, strBIOSDate, strBIOSInfo
    'Time related
    Dim TimerInterval 'timer to refresh HTA at start
    Dim iTimer 'abort timer
    Const iAbortTimeout=300000 'delay before window closes (in milliseconds)
    Dim pbTimerID
    Dim pbHTML
    Dim pbWaitTime
    Dim pbHeight
    Dim pbWidth
    Dim pbBorder
    Dim pbUnloadedColor
    Dim pbLoadedColor
    Dim pbStartTime
    'Dictionary
    Dim objModelsDict,colKeys,strKey 'models
    Dim objApprovedMakesDict
    'Misc GLOBAL vars
    Dim blnDebug 'set TRUE to trigger debug mode
    Dim bAbortBuild 'Boolean flag to abort or not abort
    Dim strTemp 'throwaway/scratch
    Dim strNamespace 'wmi default namespace for ANY machine
    Dim strComputer 'wmi reference to current machine, just .
    Dim strService 'WMI service
    Dim strQuery 'custom WQL
    Dim ErrMsg 'custom error messages
    Dim iErrMode 'State machine for error mode
    Dim lFlags 'WMI flag
    Dim strDisks
    'Pre-requisites - things that will cause build to abort if values do not meet spec
    Dim strHTAVendor 'Make of hardware
    Dim strHTAVendorState
    Dim strHTAModel 'Model of hardware
    Dim strHTAModelState 'Model state
    Dim strHTARAM 'RAM
    Dim strHTARAMState 'RAM state
    Dim strHTACPUSpeed 'Processor speed
    Dim strHTACPUCores 'Number of cores
    Dim strHTACPUFullInfo 'CPU + cores
    Dim strHTAHDD 'Disk info
    Dim strHTAHDDState 'Disk state
    Dim strHTACheckRAW 'NTFS check
    Dim strHTAArchitecture 'Processor support
    Dim strHTAProduct 'Product ID
    Dim strHTAOutlook 'Outlook running
    Dim strHTAOutlookState 'Outlook state
    Dim strHTABattery 'Battery check
    Dim strHTABatteryState 'Battery state
    'for WQL filters
    Dim strWQLPCInfo 'Pre-req - (1) for various inc. domain role (servers)
    Dim strWQLRAM 'Pre-req - (2) RAM
    Dim strWQLCPU 'Pre-req - CPU speed string (not int)
    Dim strWQLBootOrder 'Pre-req - Boot order string
    Dim strWQLSATAMode 'Pre-req - HDD mode
    Dim strWQLGenericBIOS
    Dim strWQLCPUCount 'Pre-req - how many CPUs
    Dim strWQLCPUInfo
    Dim strWQLFSType 'Pre-req - Check HDD not RAW (i.e. is NTFS)
    Dim strWQLDisks 'Disks
    Dim strWQLChassis 'Machine type
    Dim strWQLID 'Unique code from OEM
    Dim strWQLProc 'is Outlook running = False
    Dim strWQLBattery 'is on Battery = False
    'State
    Const cProblem = " Problem!"
    Const cRunAgain =" RunCheck: Run System Check Again"
    Const cSuccess = " Success!"
    Const cPassed=" Pass"
    Const cFail=" Fail"
    'Pre-requisite to check: SET VALUES HERE vvvvvvvvvvvvvvvv
    Const cApprovedOEM="Hewlett-Packard"
    Const LegacyOEM1="Dell Inc."
    Const LegacyOEM2="IBM"
    Const cMinimumMemoryMB = 1000 'RAM in MB
    'Const cMinimumMemoryMB = 1000000 'force fail test data RAM in MB
    Const cMinFS="NTFS"
    ' Const cMinFS="HPFS" 'force fail test data
    Const iMinCores=1
    'Const iMinCores=10099 'force fail cores test data
    Const iMinCPUSpeed=2 '20 'in GHz
    'Const iMinCPUSpeed=90000 'in GHz
    Const iMinCPUArch=32
    'Const iMinCPUArch=64
    ' #endregion
    ' To hide anything use ID.className = "hidden", to show set to "", e.g. NotFoundArea.className = "hidden"
    Sub Window_Onload
    Err.Clear
    VersionSpan.InnerText = objOSDPreReqChecks.Version 'Get version
    self.focus
    self.moveTo 100,100 'Move window top left
    StatusBar.InnerText="Validating machine..."
    document.body.style.cursor = "wait" 'hourglass cursor
    'Call PreflightChecks 'use for testing as a VBS only, otherwise HTA timer will call below
    TimerInterval = window.setInterval("PreflightChecks",10)
    End Sub
    Function PreflightChecks
    ' #region HEADER NOTES: Persistent fold region
    'Version history
    'ver 5 OCTOBER 2011 - added error handler
    'ver 3rd Nov - removed HPonly queries
    '// Solution: Custom Script for use with MDT - Adapted from hardwareinfo.vbs Mikael Nystrom – http://deploymentbunny.com
    'Typical BIOS content
    'Processor Speed = 2133/1066 MHz
    'Boot Order = Network Controller,ATAPI CD-ROM Drive,USB device,Hard Drive,Diskette Drive,PnP Device #2,PnP Device #3,PnP Device #4,PnP Device #5,PnP Device #6,PnP Device #7,PnPe #8,PnP Device #9,PnP Device #10,PnP Device #11
    'SATA (disk) mode: *IDE,--,RAID,-- or IDE,*AHCI,RAID
    'On Error Resume Next
    ' #endregion
    ' #region CONSTANTS: Persistent fold region
    '======================================================================================
    'Fields available in HP BIOS
    Const sAsset = "Notebook Asset Tag"
    Const sOwner = "Notebook Ownership Tag"
    Const sMan = "Manufacturer"
    Const sNoteModel = "Notebook Model"
    Const sCPU = "Processor Type"
    Const sCPUSpeed = "Processor Speed"
    Const sRAM = "Memory Size"
    Const sModel = "Product Name"
    Const sBIOSName ="System BIOS"
    Const sBIOSVer = "BIOS Version"
    Const sBIOSDate = "BIOS Date"
    'Other BIOS stuff you could use too
    'Const sOwnerTag = "Enter Ownership Tag"
    'Const sBIOS = "PCID"
    'Const sBIOS = "Define Custom URL"
    'Const sBIOS = "Set Alarm Time"
    'Const sBIOS = "PCID Version"
    Const TextMode="1" 'text case sensitive for dict obj
    'WMI core constants
    Const wbemFlagReturnImmediately = 16 'wmi - Causes the call to return immediately.
    Const wbemFlagForwardOnly = 32 'wmi - Causes a forward-only enumerator to be returned.
    'Forward-only enumerators are generally much faster and
    'use less memory than conventional enumerators, but don't allow calls to SWbemObject.Clone_
    'Advisory config values - as in "you want to the change these"
    Dim strHTABootOrder
    Dim strHTASATAMode
    'Dim strHTACPU
    ' #endregion
    '======================================================================================
    ' #region WQL: Persistent fold region
    lFlags = wbemFlagReturnImmediately + wbemFlagForwardOnly
    'Queries of things to check (HP)
    strWQLBootOrder = "select Name, value from HP_BIOSSetting where Name='Boot order'"
    strWQLSATAMode = "select Name, value from HP_BIOSSetting where (Name='SATA emulation' or name='SATA device mode')"
    strWQLDisks ="SELECT * FROM Win32_DiskDrive where mediatype like 'Fixed%hard disk%'" 'win32_disk only avail after W7
    strWQLFSType ="SELECT * from Win32_LogicalDisk where DriveType='3'" 'only bother with HDDs
    'Generic WMI query strings
    strWQLGenericBIOS="SELECT Manufacturer,SMBIOSBIOSVersion,ReleaseDate FROM Win32_BIOS WHERE PrimaryBIOS = True"
    strWQLCPUCount= "SELECT NumberOfProcessors,NumberOfLogicalProcessors from Win32_ComputerSystem"
    strWQLCPUInfo="SELECT Name,DataWidth,description,MaxClockSpeed,NumberofCores,NumberOfLogicalProcessors from Win32_Processor"
    strWQLPCInfo="SELECT Domain,DomainRole,SystemType,Manufacturer,Model,TotalPhysicalMemory FROM Win32_ComputerSystem"
    ' strWQLPCInfo="SELECT Domain,DomainRole,SystemType,Manufacturer FROM Win32_ComputerSystem"
    strWQLChassis="SELECT ChassisTypes from Win32_SystemEnclosure"
    strWQLID="SELECT IdentifyingNumber,UUID from Win32_ComputerSystemProduct"
    strWQLRAM="SELECT * FROM Win32_PhysicalMemory"
    strWQLProc="SELECT * FROM Win32_Process"
    strWQLBattery="SELECT * FROM BatteryStatus Where Voltage > 0"
    ' #endregion
    ' #region MAIN algorithm
    '=====================================================================================================
    ' MAIN
    'Algorithm
    '1) Check make (vendor)
    '2) Check model (in list)
    '3) Check RAM >x
    '4) Check HDD TYPE (HDD is not RAW)
    '5) Check CPU architecture
    '6) Check outlook
    '7) Check battery
    '=====================================================================================================
    'Initialise
    window.clearInterval(TimerInterval) 'Reset timer to 0
    ' blnDebug=True
    blnDebug=False
    bAbortBuild=False 'default to DON'T abort
    ' bAbortBuild=True
    'Build list of approved vendors
    Set objApprovedMakesDict = CreateObject("Scripting.Dictionary")
    objApprovedMakesDict.comparemode=VBTextCompare
    objApprovedMakesDict.add cApprovedOEM,"OK"
    objApprovedMakesDict.add LegacyOEM1,"OK"
    objApprovedMakesDict.add LegacyOEM2,"OK"
    objApprovedMakesDict.add "Lenovo","Testdata"
    If blnDebug Then Stop
    '1) all machines check make
    strHTAVendor=fCheckVendor(strWQLGenericBIOS) 'check vendor in BIOS - if vendor not approved ABORT without proceeding
    If bAbortBuild=True Then
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - goodbye cruel world"
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Else
    StatusBar.InnerText="Vendor: " & strHTAVendor & vbTab & " " & strHTAVendorState
    '2) Discover current Model
    strHTAModel=fGetModelName(strWQLPCInfo) 'get model name from WMI
    strHTAModel=fUniversalCheckData(strHTAModel,"'Discover Model - fGetModelName'") 'validate
    Call fGetModels 'get list of all valid models (from text file)
    strHTAModel=fCheckModel(strHTAModel)
    '2a) Model number (optional)
    strHTAProduct=fGetComputerSystemProdIDNumber(strWQLID) 'manufacturer's product ID
    strHTAProduct=fUniversalCheckData(strHTAProduct,"'Discover ID - fGetComputerSystemProdIDNumber'")
    ' StatusBar.InnerText=StatusBar.InnerText & VbCrLf & vbTab & "Product Code: " & vbTab & strHTAProduct
    '3) Check installed Memory
    strHTARAM=fGetRAM(strWQLRAM) 'find RAM size
    strHTARAM=fUniversalCheckData(strHTARAM,"'Detect RAM - fCheckRAM'")
    strHTARAM=fCheckRAM(strHTARAM) 'check RAM meets req
    If strHTARAMState=cFail Then Exit Function
    '4) Disk format IS NTFS
    strDisks=fGetDrives(strWQLFSType) 'Get formatting info for all drives
    strHTACheckRAW=fUniversalCheckData(strDisks,"'Detect filesystem - fCheckNTFS'") 'Validate data
    strHTACheckRAW=fCheckNTFS(strDisks) 'Check FS format is acceptable (not RAW)
    If strHTACheckRAW=cFail Then Exit Function
    'Generic CPU calls
    strHTACPUFullInfo="CPUs:" & fGetCPUInfo(strWQLCPUInfo) & " with CPU cores:" & iCPUCoreCount
    strBIOSInfo="BIOS version: " & strBIOSver & ", dated " & strBIOSDate
    '5a) CPU Speed check (info from http://www.robvanderwoude.com/wmiexamples.php)
    strCPUInfo=WMI(strWQLCPUInfo,strNamespace) 'Get CPU details
    strTemp=split(strCPUInfo,"@"): strHTACPUSpeed=strTemp(1)
    strHTACPUSpeed=fUniversalCheckData(strHTACPUSpeed,"'Check processor - fCheckCPUSpeed'") 'Validate data
    strHTACPUSpeed=fCheckCPUSpeed(strHTACPUSpeed) 'Check CPU clock speed
    '5b) cores check
    strHTACPUCores=fUniversalCheckData(iCPUCoreCount,"Check core count - fCheckCores") 'Validate data
    iCPUCoreCount=fCheckCores(iCPUCoreCount) 'pass or fail?
    '5c) CPU address width
    strHTAArchitecture=fUniversalCheckData(strHTAArchitecture,"Check core count - fCheckCores") 'Validate data
    strHTAArchitecture=fCheckCPUArch(strHTAArchitecture)
    '6) Check outlook
    strHTAOutlook=fCheckProcess(strWQLProc)
    '7) Check Battery
    strHTABattery=fCheckBattery(strWQLBattery)
    'end checkss
    document.body.style.cursor = "default"
    'Display hardware values in GUI (in table)
    Vendor.innerhtml = strHTAVendor 'Use str...var..STATE if you want Pass/fail text instead
    Model.innerhtml = strHTAModel
    Product.innerhtml = strHTAProduct
    RAM.innerhtml = strHTARAM
    CPUspeed.innerhtml = strHTACPUSpeed
    CPUInfo.innerhtml = strHTACPUFullInfo
    HDDFS.innerhtml = strHTACheckRAW
    CapableArchitecture.innerhtml=strHTAArchitecture
    BIOSversion.innerhtml = strBIOSver
    BIOSDate.innerhtml = strBIOSDate' CPUName.innerhtml = strCPUDesc 'GetCPUName
    End If
    '======================================================================================
    ' #endregion
    End Function
    'generic WMI queries, by field and namespace
    Function WMI(strQuery,strNameSpace)
    'Aim: generic WMI calls
    'return value of BIOS
    On Error Resume Next
    Dim colItems,objItem
    Dim objWMI
    Const strService = "winmgmts:{impersonationlevel=impersonate}//" 'binding to WMI
    Const strComputer = "." 'this machine
    Set objWMI = GetObject(strService & strComputer & strNamespace) 'GLOBAL wmi
    Set colItems = objWMI.ExecQuery(strQuery,,lFlags)
    For Each objItem In colItems
    If Err Then
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "WMI query: " & strQuery & " in " & strNamespace & objItem.Name
    Call ErrHandler("WMI error " & strQuery,1)
    Else
    WMI=objItem.Name 'Return value
    End If
    Next
    End Function
    Function fGetModelName(strWQLPCInfo)
    'Aim: Get model name from BIOS - WMI field sometimes varies if laptop, so try two
    'Return STRING: Model string from BIOS or "UNKNOWN" if null
    On Error Resume Next
    Dim colPCInfo,objPCItem
    Dim strModel
    Set colPCInfo = GetObject("winmgmts:").ExecQuery(strWQLPCInfo,"WQL",lFlags)
    If Err Then
    Call ErrHandler("fGetModelName: Error querying WMI " & strWQLPCInfo,2)
    Else
    For Each objPCItem In colPCInfo
    If Not IsNull(objPCItem.Model) Then
    strModel=objPCItem.Model
    ' iRAM=objPCItem.TotalPhysicalMemory
    Else
    If (strHTAVendor=cApprovedOEM And IsLaptop = True) Then ' resort to HP specific query for older laptops
    'Notebook
    strModel=QueryHPBIOS(sNoteModel)
    if strModel="" then strModel=QueryHPBIOS(sModel) 'try alt value
    Else
    strModel=QueryHPBIOS(sModel)
    End If
    End If
    Next
    End If
    If strModel = "" Then
    fGetModelName = "UNKNOWN"
    Model.style.visibility="hidden"
    Else
    fGetModelName=strModel
    End If
    End Function
    '====================================================
    '====================================================
    Function fGetRAM(strQuery)
    'Aim: get RAM installed. NB Win32_ComputerSystem::TotalPhysicalMemory may not be accurate
    'Return integer
    On Error Resume Next 'equiv to Err.Clear
    Dim colItems, item
    Dim iTotalMemory
    Set colItems = GetObject("winmgmts:").ExecQuery(strQuery,"WQL",lFlags)
    If Err Then
    Call ErrHandler("fGetRAM: Error querying " & strQuery,2)
    Else
    iTotalMemory = 0
    For Each item In colItems
    iTotalMemory = iTotalMemory + CDBL(item.Capacity)/(1024^2)
    Next
    End If
    If iTotalMemory = "" Then
    fGetRAM = "RAM UNKNOWN"
    RAM.style.visibility="hidden"
    Else
    fGetRAM=iTotalMemory
    End If
    End Function
    '====================================================
    '====================================================
    Function fGetCPUInfo(strQuery)
    'Aim: query WMI for CPU info - number and number of cores
    'Return: function=CPU count, var for the cores: iCPUCoreCount, strHTAArchitecture, strCPUDesc
    On Error Resume Next
    Dim colItems, objItem
    Dim NumberOfProcessors
    Set colItems = GetObject("winmgmts:").ExecQuery(strQuery,"WQL",lFlags)
    If Err Then
    Call ErrHandler("GetCPUInfo: Error querying " & strQuery,2)
    Else
    For Each objItem In colItems
    If Err Then
    Else
    If Not IsNull(objItem.NumberOfCores) Then
    NumberOfProcessors = Trim(objItem.NumberOfCores) 'NumberOfProcessors
    End If
    If Not IsNull(objItem.NumberOfLogicalProcessors) Then
    iCPUCoreCount = Int(Trim(objItem.NumberOfLogicalProcessors))
    End If
    If Not IsNull(objItem.DataWidth) Then
    strHTAArchitecture=Trim(objItem.DataWidth) & "-bit"
    End If
    If Not IsNull(objItem.description) Then
    strCPUDesc = Trim(objItem.description) 'cpu name
    End If
    End If
    Next
    If NumberOfProcessors = "" Then
    NumberOfProcessors = "UNKNOWN"
    End If
    fGetCPUInfo = Int(NumberOfProcessors)
    ' iCPUCoreCount = Int(NumberOfLogicalProcessors)
    End If
    End Function
    '====================================================
    '====================================================
    Function fGetComputerSystemProdIDNumber(strWQLID)
    'Aim: Get UUID from Win32_ComputerSystemProduct
    'Return: great big integer
    Dim colSys,objSys
    Dim strUUID
    On Error resume next
    Set colSys = GetObject("winmgmts:").ExecQuery(strWQLID,"WQL",lFlags)
    If Err then
    Call ErrHandler("fGetComputerSystemProdIDNumber: Error querying " & strWQLID,2)
    Else
    For Each objSys In colSys
    If Not IsNull(objSys.IdentifyingNumber) Then
    strUUID = Trim(objSys.IdentifyingNumber)
    End If
    Next
    If strUUID = "" Then
    fGetComputerSystemProdIDNumber = "UNKNOWN"
    Else
    fGetComputerSystemProdIDNumber = strUUID
    End If
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fGetDrives(strQuery)
    Dim colDisks,objHDD
    Dim strDriveType, strDiskSize, strDisk
    Dim strDiskFSType
    Dim iGBUnits
    On Error Resume Next
    iGBUnits=1073741824
    Dim iRAW
    iRAW=0
    Set colDisks = GetObject("winmgmts:").ExecQuery(strQuery)
    For Each objHDD In colDisks
    Select Case objHDD.DriveType
    Case 1 strDriveType = "Drive could not be determined."
    Case 2 strDriveType = "Removable Drive"
    Case 3 strDriveType = "Local hard disk."
    Case 4 strDriveType = "Network disk."
    Case 5 strDriveType = "Compact disk (CD)"
    Case 6 strDriveType = "RAM disk."
    Case Else strDriveType = "Drive type Problem."
    End Select
    strDiskFSType = objHDD.FileSystem
    'Find C
    If objHDD.Name="C:" Then
    If isNull(objHDD.FreeSpace) Then
    If blnDebug=True then Call ErrHandler("ALERT!! Volume " & objHDD.Name & "is RAW",1) 'Abort/clean
    fCheckDrives="ALERT!! Volume " & objHDD.Name & "is RAW"
    End If
    End If
    strDiskSize = Int(objHDD.Size /iGBUnits) & "GB" 'calc size of disk
    strDisk = strDisk & VbCrLf & "Vol " & objHDD.Name & " (" & strDriveType & ") size: " & strDiskSize & " (free: " & Int(objHDD.FreeSpace /iGBUnits) & "GB), " & strDiskFSType
    fGetDrives=strDisk
    Next
    If (Err.Number <>0) Then
    Call ErrHandler("WMI Property Query Error: [" & Err.Number & "]",2)
    fGetDrives = -1
    Exit Function
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fUniversalCheckData(varData,strStage) 'template
    'Aim: Check value passed...
    'is not blank
    'is in range x..y
    'spelt OK
    'is in a list
    'format is text, numeric
    'return: string: the original value
    On Error Resume Next
    Dim Err
    if blnDebug Then StatusBar.InnerText = StatusBar.InnerText & VbCrLf & "Validating " & strStage & " data..."
    If Err Then
    Call ErrHandler("WARNING: Error discovering value in " & strStage,2) '1=Quit,2=Warn
    strHTAModel="Unknown"
    Else
    Select Case varData
    Case IsEmpty(varData) Or IsNull(varData)
    Call ErrHandler("WARNING: Error in "& strStage,2) '1=Quit,2=Warn
    fUniversalCheckData="Unknown"
    Case IsNumeric(varData)
    If varData<0 Then
    Call ErrHandler("WARNING: Value negative"& strStage,2) '1=Quit,2=Warn
    fUniversalCheckData="Unknown"
    End if
    ' & varData &
    Case IsDate(varData)
    Case Else
    fUniversalCheckData=varData 'Data OK - return value unchanged
    End Select
    End If
    End Function
    '=================================================================================
    'Checks - follow if true DO, if false warn/abort
    '=================================================================================
    Function fCheckBattery(strQuery)
    'Aim: Find if battery is running
    'Return pass/fail
    On Error Resume Next 'equiv to Err.Clear
    Const wbemFlagReturnImmediately = &h10
    Const wbemFlagForwardOnly = &h20
    Dim colItems, item
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM BatteryStatus Where Voltage > 0", "WQL", _
    wbemFlagReturnImmediately + wbemFlagForwardOnly)
    For Each item In colItems
    if objItem.PowerOnline = True Then
    strHTABattery=objItem.PowerOnline
    strHTABatteryState = cFail
    Err.Raise 9010,"fCheckBattery",strHTABattery & " Laptop running on battery. OSD Cannot continue."
    Call ErrHandler(ucase(strHTABatteryState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - Laptop on Battery. Please plug into an outlet before proceeding."
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Else
    strHTABatteryState = cPassed
    End if
    Next
    fCheckBattery=strHTABattery
    End Function
    '====================================================
    Function fCheckProcess(strQuery)
    'Aim: Find if outlook is running
    'Return pass/fail
    On Error Resume Next 'equiv to Err.Clear
    Dim colItems, item
    Set colItems = GetObject("winmgmts:").ExecQuery(strQuery,"WQL",lFlags)
    For Each item In colItems
    if item.Name = "OUTLOOK.EXE" Then
    strHTAOutlook=item.Name
    strHTAOutlookState = cFail
    Err.Raise 9010,"fCheckOutlook",strHTAOutlook & " running. OSD Cannot continue."
    Call ErrHandler(ucase(strHTAOutlookState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - Outlook Running, please close outlook before proceeding."
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Elseif item.Name = "communicator.exe" Then
    strHTAOutlook=item.Name
    strHTAOutlookState = cFail
    Err.Raise 9010,"fCheckOutlook",strHTAOutlook & " running. OSD Cannot continue."
    Call ErrHandler(ucase(strHTAOutlookState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - Communicator Running, please close OCS before proceeding."
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Else
    strHTAOutlookState = cPassed
    End if
    Next
    fCheckProcess=strHTAOutlook
    End Function
    '====================================================
    '1 - Make
    Function fCheckVendor(strVendor)
    'Aim: Check make is one the OS/build is designed For
    'Return: STRINGS for "Make", BIOS version and BIOS date (generic): strHTAVendorState pass or fail
    On Error Resume Next
    Dim colItems,objItem
    Set colItems = GetObject("winmgmts:").ExecQuery(strVendor, "WQL", lFlags)
    For Each objItem In colItems
    strHTAVendor=objItem.Manufacturer
    if objApprovedMakesDict.exists(strHTAVendor) then
    strBIOSver=objItem.SMBIOSBIOSVersion
    strBIOSDate=Mid( objItem.ReleaseDate, 5, 2 ) & "/" & Mid( objItem.ReleaseDate, 7, 2 ) & "/" & Left( objItem.ReleaseDate, 4 )
    strHTAVendorState=cPassed
    Else
    strHTAVendorState=cFail
    Err.Raise 9010,"fCheckVendor",strHTAVendor & " found. The build will not work on this make of hardware"
    Call ErrHandler(ucase(strHTAVendorState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    bAbortBuild=True
    end if
    Next
    fCheckVendor=strHTAVendor
    End Function
    '=================================================================================
    '=================================================================================
    '2 - Models check
    Function fCheckModel(strThisModel)
    'Aim Check target machine is in list of models
    'Return string
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking model..." & VbCrLf
    If objModelsDict.exists(trim(strThisModel)) then ' if current model in objDict then huzzah
    strHTAModelState=cPassed
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "Model detected: " & vbTab & strHTAModelState
    Else
    strHTAModelState=cFail
    Err.Raise 9010,"fCheckModel",strThisModel & " found. The build will not work on this model of hardware"
    Call ErrHandler(ucase(strHTAModelState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    end if
    fCheckModel=strHTAModel
    End Function
    '=================================================================================
    '=================================================================================
    '3 - RAM
    Function fCheckRAM(strRAM)
    'Aim: Check installed RAM > x
    'Return string digits with units, e.g. 4GB
    'use strHTARAM for value
    '==================================================================
    ' Memory Preflight Check (from MDT2012)
    '==================================================================
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking RAM..."
    If Err.Number <> 0 Then
    Call ErrHandler("Error occurred while calculating computer's memory.",2)
    End If
    fCheckRAM = Int(strRAM/1024) & "GB" 'format in GB
    If Int(strRAM) > cMinimumMemoryMB Then
    strHTARAMState=cPassed 'Sufficient memory - show whole number in GB"
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "RAM installed: " & vbTab & strHTARAMState
    Else
    strHTARAMState=cFail
    Err.Raise 9030 ,"fCheckRAM","Not enough memory in this machine!" & " Required physical memory is: " & cMinimumMemoryMB & " MB."
    Call ErrHandler(ucase(strHTARAMState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1) 'abort build
    End If
    End Function
    '=================================================================================
    '=================================================================================
    '4 - NTFS disk
    Function fCheckNTFS(strDiskFS)
    'Aim: Check HDD is NTFS
    'Return string
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking file system is not RAW..."
    If Instr(1,strDiskFS,cMinFS,VBTextCompare)<>0 Then
    fCheckNTFS=cMinFS 'disk format is OK (NTFS)
    StatusBar.InnerText=StatusBar.InnerText & vbTab & " File system: " & cPassed
    Else
    fCheckNTFS=cFail
    Err.Raise 9040 ,"fCheckNTFS","WARNING: Disk not correct file-system. Type required is: " & cMinFS & "." & VbCrLf & _
    "The deployment will fail unless you reformat the target disk immediately."
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",2) 'halt build
    End If
    End Function
    '====================================================
    '=================================================================================
    '5 - CPU checks
    '=================================================================================
    Function fCheckCPUSpeed(strCPU) 'any HW
    'Aim: Check CPU speed
    'Return string = number + appropriate units, e.g. 5HGz (strCPU)
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking CPU spec..."
    Select Case Right(strCPU,3) 'check units
    Case "MHz"
    strCPU=Left(strCPU,4)/1000 'reformat to GHz
    Case "GHz"
    strCPU=strCPU 'unit already OK
    Case Else
    Call ErrHandler("CPU units are unknown",2)
    End Select
    'Check clock speed
    If Int(Left(trim(strCPU),1))>=iMinCPUSpeed Then
    fCheckCPUSpeed=strHTACPUSpeed 'CPU is fine i.e don't change value
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "CPU Speed: " & cPassed
    Else
    fCheckCPUSpeed=cFail 'already in GHz
    Err.Raise 9050,"fCheckCPUSpeed","CPU speed pre-requisite failed. Minimum processor clock speed is: " & iMinCPUSpeed
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1) 'halt build
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fCheckCPUArch(strCPUArch) 'any HW
    'Aim: Check CPU width
    'Return string
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking CPU bus width..."
    'Check clock speed
    If Int(Left(trim(strCPUArch),2))>=iMinCPUArch Then
    fCheckCPUArch=strHTAArchitecture 'CPU is fine i.e don't change value
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "CPU width: " & cPassed
    Else
    fCheckCPUArch=cFail 'already in GHz
    Err.Raise 9052,"fCheckCPUArch","CPU width pre-requisite failed. Minimum processor width required is: " & iMinCPUArch
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1) 'abort build
    End If
    End Function
    '=================================================================================
    Function fCheckCores(iCores)
    'Aim: Check hardware (CPU) has a minimum number of cores
    'Return Integer
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking CPU cores..."
    If iCores>=iMinCores Then
    fCheckCores=iCores
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "Core count: " & vbTab & cPassed
    'StatusBar.InnerText=StatusBar.InnerText & vbTab & "CPU cores: " & cPassed
    Else
    fCheckCores=cFail
    Err.Raise 9051,"fCheckCores","WARNING: Not enough cores on the CPU to support the build. Minimum CPU cores is: " & iMinCores
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",2) 'halt build
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fCheckHPCPUSpeed 'HP ONLY
    'Aim: Check CPU speed
    'return: string
    'Check CPU speed
    On Error Resume Next
    strWQLCPU = "processor speed"
    strTemp=QueryHPBIOS(strWQLCPU,"")
    Select Case Right(strTemp,3)
    Case "MHz"
    strTemp=Left(strTemp,4)/1000 'reformat to GHz
    Case "GHz"
    strTemp 'is OK
    Case Else
    Call ErrHandler("CPU is unknown",2)
    End Select
    'Check clock speed
    If strTemp>=iMinCPUSpeed Then
    fCheckCPUSpeed= strTemp & "GHz"
    Else
    Err.Raise 9050,,"CPU speed pre-requisite failed"
    Call ErrHandler("CPU is too slow",1)
    fCheckCPUSpeed=cFail 'already in GHz
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fGetModels
    'Aim: Read external text file
    'return: dictionary object - models as key, integer as value e.g. Dell Optiplex,12
    'On Error Resume Next
    Dim objFSO
    Dim objFile
    Dim strFile
    Dim strEntry
    Dim n
    Dim strfilepath
    Dim iLineCount 'count lines to avoid listing first item with ,.
    Set objModelsDict = CreateObject("Scripting.Dictionary")
    set objFSO=CreateObject("Scripting.FileSystemObject")
    Const ForReading=1
    strfilepath = Left(window.location.pathname,InStrRev(window.location.pathname,"\"))
    strFile=strfilepath & "Models.txt"
    set objFile=objFSO.OpenTextFile(strFile,ForReading)
    iLineCount=0
    'read in each line of data until you reach the end of the file
    do While objFile.AtEndOfStream<>True
    strEntry=objFile.ReadLine
    'you can now do what ever you want with the line as referenced with the strEntry variable such as
    'echoing it back (e.g. wscript.Echo strEntry) or passing it as a variable to a function of subroutine (e.g. MyFunction strEntry)
    objModelsDict.comparemode=VBTextCompare
    objModelsDict.Add strEntry,iLineCount
    iLineCount=iLineCount+1
    If blnDebug then
    If iLineCount=1 Then
    StatusBar.InnerText=trim(strEntry)
    Else
    StatusBar.InnerText=StatusBar.InnerText & ", " & trim(strEntry) 'list models
    End If
    End If
    Loop
    objFile.Close
    End Function
    '=================================================================================
    '=================================================================================
    '====================================================
    Function ErrHandler(strErrorMsg,iErrMode)
    'Aim: to handle error states
    ' 1 = Abort
    ' 2 = Warn
    'Return 'Appropriate text message explaining the error
    '====================================================
    Const msgTitle="SCCM Deployment Preflight Checklist"
    'On Error Resume Next '< don't use that as we want to KEEP the error properties
    'Abort=1
    If iErrMode=1 Then
    StatusBar.InnerText=strErrorMsg 'overwrite status with Error message
    ' StatusBar.InnerText=StatusBar.InnerText & VbCrLf & " " & strHTAOutlook & " " & strHTAVendor & " " & strHTAVendorState & _
    ' VbCrLf & " " & strHTAModel & strHTAModelState & _
    ' VbCrLf & " " & strHTARAM & strHTARAMState & _
    ' VbCrLf & " " & strHTAHDD & strHTAHDDState
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript") 'Abort (close) after n seconds
    'MsgBox strErrorMsg,vbExclamation,msgTitle
    'ErrBar.class=""
    ElseIf iErrMode=2 Then
    'Warning
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & strErrorMsg & " " '& "(" & Err.Description & " :" & Err.Number & ")"',vbExclamation,msgTitle
    Err.Clear
    End If
    End Function
    '====================================================
    Sub Abort
    'Aim: Quit gracefully
    window.close()
    End Sub
    </script>
    <!-- #region BODY -->
    <body>
    <br />
    <div>
    <span style="version"> <span id="VersionSpan"></span></div>
    <div style="text-align: center;">
    <H1 style="font-family: Arial, Helvetica, sans-serif; font-size: large; text-align: center; color: #000000; text-transform: capitalize">System information</H1>
    <span>
    <table border="1" cellspacing="0" cellpadding="0" style="width: 912px"
    id="SysInfoTable">
    <tr class="h1">
    <td align="right" class="Header1" style="width: 76px; height: 18px">
    </td>
    <td align="right" class="Header1" style="height: 18px"><em id="VendorCaption">Vendor</em></td>
    <td align="left" class="style2" style="height: 18px"><span id="Vendor"></span></td>
    <td align="right" class="Header2" style="height: 18px"><em id="ModelCaption">Model</em></td>
    <td align="center" class="style4" style="width: 400px; height: 18px"><span id="Model"></span></td>
    </tr>
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="ProductCaption">Product ID</em></td>
    <td align="left" class="style2"><span id="Product"></span></td>
    <td align="right" class="Header2"><em id="RAMCaption">Memory(in MB)</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="RAM"></span></td>
    </tr>`
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="CPUCaption">CPU speed (in GHz)</em></td>
    <td align="left" class="style2"><span id="CPUspeed"></span></td>
    <td align="right" class="Header2"><em id="CPUInfoCaption">No: CPU\Cores</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="CPUInfo"></span></td>
    </tr>
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="DiskFSCaption">Filesystem info</em></td>
    <td align="left" class="style2"><span id="HDDFS"></span></td>
    <td align="right" class="Header2"><em id="CapableArchCaption">Architecture</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="CapableArchitecture"></span></td>
    </tr>
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="BIOSVerCaption">BIOS version</em></td>
    <td align="left" class="style2" ><span id="BIOSVERSION"></span></td>
    <td align="right" class="Header2"><em id="BIOSDateCaption">BIOS Date</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="BIOSDate"></span></td>
    </tr>
    </table>
    </span>
    </div>
    <div class="StatusBar">
    <br />
    <Span id="StatusBar">Loading...please wait.</Span>
    </div> <br><br>
    <div align="center">
    <input type="button" name="btnStop" id="btnStop" value="Continue" onclick="Abort">
    <input type="Button" value="Re-Scan Machine" name="button1" onClick="Window_Onload" class="button">
    </div>
    </body><!-- #endregion -->
    </html>

Maybe you are looking for

  • Devloped an ALV report for daily cash receipts for selected date range

    hi,                 how to devlop an ALV report for daily cash receipts for selected date range.for this report what are the tables and fields we have to use.what is the selectionscreen&what is logic.give me sample report.

  • Urgent help on reading data into ByteBuffer

    Hi, I am trying to read data into ByteBuffer using SocketChannel. The following code working fine but the problem is with ByteBuffer size. The data varies from request to request . How do I read data into ByteBuffer with out specifing size . The prob

  • DTN - Hide top node

    I have created my site navigation and it has four nodes NODE ONE contains two nodes -> NODE TWO AND NODE THREE NODE TWO contains one node -> NODE FOUR NODE ONE is a second level navigation item so the user would click the NODES Tab and see NODE ONE T

  • Photoshop cc optimising for web and devices, keeping metadata for original size

    Hello, I am having trouble working out why the CC version of photoshop keeps the metadata for the original sized photograph after being optimised for web and devices. When I look at the file size after it has been optimised in finder on the Mac it sa

  • Need help with a simple task

    I have just started with Flash and am very unfamiliar with the workings of it..On my web site I have a small Flash application that I want to also be a hyperlink to another page. But I can't figure this out. I actually want the application to be the