Solved

Startup Script GPO Runs But Doesn't Always Work (vbs)

Posted on 2013-01-10
13
6,604 Views
Last Modified: 2013-01-18
Hi folks--first time poster here and have kind of a wacky question!  I've got a VBScript set to run as a Startup Script in Group Policy.  This script calls a couple of installers from a wide-open network share.  The reason I've got it set as a startup script is that it needs to run elevated and this seemed like the easiest way to do it.

I've gotten it to actually work once, but on other computers in the same Test OU, it's showing that the policy has been applied, but the software update logfile never gets created and the software update is not installed.  Can you think of any reason for the inconsistency?  Additionally, the user notification that pops up if you run the script directly will not show up when this is run as a Startup script.  I assume that's because it's running as BUILTIN\SYSTEM and not as the user who is actually logging into the computer?

I'll post the script here for your perusal.

option explicit
'On error resume next

Dim IE, Return, oShell, baseFolder, CPCMD, verbose, wShell, wExec, oFso, xmlhttp, xmldata, version, cmpName, url, progfiles

verbose = False    ' If verbose then display user message console else only display error msgbox

baseFolder = left(Wscript.ScriptFullName, instrrev(Wscript.ScriptFullName, "\") - 1)
Set oShell = CreateObject("Shell.Application")  ' ShellExecute
Set wShell = CreateObject("Wscript.Shell")      ' Exec and Run
Set oFso = CreateObject("Scripting.FileSystemObject")

If Is64Bit() then
  progFiles = "C:\Program Files (x86)"
 Else
  progFiles = "C:\Program Files"
End If

If verbose Then  ' if not verbose - we must assume run as admin 
  If UACEnabled() Then
    Return = MsgBox("This installer must run with Administrator privileges." & vbcrlf & _
                  "Did you select ""run as administrator""?", vbyesno, "Run as Administrator")
    If Return = vbno then
      Return = oShell.ShellExecute("wscript.exe", Wscript.ScriptFullName,,"runas",1)
      WScript.quit
    End If
  End If
End if

If verbose Then  ' setup IE as user message console
  Set IE = CreateObject("InternetExplorer.Application")
  IE.Navigate "about:blank"   
  IE.ToolBar = 0
  IE.StatusBar = 0
  IE.Width=700
  IE.Height = 600 
  IE.Left = 50
  IE.Top = 50

  Do While (IE.Busy)
    Wscript.Sleep 200
  Loop    

  IE.Visible = 1             
  IE.Document.Body.InnerHTML = "<html><font face=arial size=4>Welcome to the VUMC 2010 Epic Hyperspace Client Pack 8 Installer!<br><br><font face=arial size=3>" _
    & "This installer will run each install step and report<br>the final result to a remote auditing server.<br><br>No interaction is necessary.<br>" _
    & "<br>This process will take about 10 minutes to complete.<br><br><u>Please do not use this computer while this process is running.</u><br>" _  
	& "<br>This window will automatically close when the process has completed.<br><br>Process Steps:<br>"
  DisplayMsg(Now & " Begin Installation.")
End If

	'Install Client Pack
	DisplayMsg(Now & " Begin Client Pack Installation.")
	CPCMD = "/ICP \\MYNETWORKSHARE\public\IT\EPIC\RA1386_HYPERSPACE_1161.msp /VCP /lec+ C:\temp\ClientPack8Install.log /qn /P SKIPDEPLOYMENTCHECK=1 IE8FOUND=1 /s"
	If UACEnabled() then
	   Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD,,"runas",1)
	Else
	   Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD)
	End If

    Do  ' wait for it to finish
      WScript.Sleep 10000
	  If wExec.Status=1 Then Exit Do
	Loop
	
	If wExec.ExitCode <> 0 Then 
      DisplayMsg(Now & " Hyperspace Client Pack Install failed with return code: " & wExec.ExitCode & ". Please contact Epic Support.")
      MsgBox (Now & " Hyperspace Client Pack Install failed with return code: " & wExec.ExitCode & ". Please contact Epic Support.")
      WScript.Quit
    End If
    
Return = InstallForms(baseFolder)

If Return <> 0 then
  DisplayMsg(Now & " Form registration failed with error code: " & Return & ". Please contact Epic Support.")
End if

DisplayMsg(Now & " Reporting Installation.")

' check version after install
version = oFso.GetFileVersion(progFiles & "\EpicSys\v7.8\Shared Files\" & "EpicACRuleEditor78.ocx")' Base IU5 = 78.01.3639, CP3 = 78.1.65.4785
cmpName = wShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
' Report back
 url = "http://m3.mc.vanderbilt.edu/CP3^HS2010"
'url = "http://m3alpha.mc.vanderbilt.edu:8080/CP3^HS2010"
  xmlData = cmpName & "*" & version
  xmlData = Replace(xmlData, " ", "")
  set xmlHttp = CreateObject("Microsoft.XMLHTTP")
  xmlHttp.Open "POST", url & "?" & xmlData, false
  xmlHttp.Send ""
  xmlHttp = Null

DisplayMsg(Now & " 2010 Epic Hyperspace Client Pack 8 Install complete.  This window will close in 20 seconds.")

If verbose Then ' pause before closing message console
  WScript.Sleep 20000
  IE.Quit
End If

'///////////////////////////////////////////////////////////////////////////////
'Begin Functions
'///////////////////////////////////////////////////////////////////////////////

Function InstallForms(base)
  Dim progFiles, oFSO, oShell, intReturn, Q
  Q = Chr(34)
  If Is64Bit() then
    progFiles = "C:\Program Files (x86)"
  Else
    progFiles = "C:\Program Files"
  End if
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  Set oShell = CreateObject("Shell.Application")
  If verbose Then DisplayMsg(Now & " Installing Custom Form Update.")
  oFSO.CopyFile base & "\VUMCAttendingProvider78.ocx", progFiles & "\EpicSys\v7.8\Shared Files\"
  intReturn = RegisterFile("/s " & Q & progFiles & "\EpicSys\v7.8\Shared Files\VUMCAttendingProvider78.ocx" & Q)
  If intReturn>0 Then 
    MsgBox(Now & " Error: VUMCAttendingProvider78.ocx failed to install - error code: " & intReturn)
  Else
    DisplayMsg(Now & " Installed Form Update.")
  End If
  
  InstallForms = intReturn  
End Function

Function RegisterFile(params)
  Dim oShell, intReturn
  Set oShell = CreateObject("Shell.Application")
  If UACEnabled() then
    intReturn = oShell.ShellExecute("regsvr32.exe", params,,"runas", 1)
  Else
    intReturn = oShell.ShellExecute("regsvr32.exe", params,,,1)
  End if
  RegisterFile = intReturn
End Function

Sub DisplayMsg(m)
  If verbose Then IE.Document.Body.InnerHTML=IE.Document.Body.InnerHTML & "<font face=arial color=blue>" & m & "<br>"
end sub

Function Is64Bit()
  Dim oWMI, colItems, oItem, bnReturn
  bnReturn = false
  If IsXP() then
    bnReturn = false
  Else
    Set oWMI = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = oWMI.ExecQuery("SELECT OSArchitecture FROM Win32_OperatingSystem")
    For each oItem in colItems
      If oItem.OSArchitecture = "64-bit" then
        bnReturn = true
      End if
    Next
  End If
  Is64Bit = bnReturn
End Function

Function IsXP()
  Dim oWMI, colItems, oItem, bnReturn
  bnReturn = false
  Set oWMI = GetObject("winmgmts:\\.\root\CIMV2")
  Set colItems = oWMI.ExecQuery("SELECT BuildNumber FROM Win32_OperatingSystem")
  For each oItem in colItems
    If oItem.BuildNumber < 4000 then
      bnReturn = true
    End if
  Next
  IsXP = bnReturn
End Function

Function UACEnabled()
  Dim oShell, bnReturn
  bnReturn = false
  If not IsXP() then
    Set oShell = CreateObject("Wscript.Shell")
    If oShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") then
      bnReturn = true
    End If
  End If
  UACEnabled = bnReturn
End Function

Open in new window

0
Comment
Question by:PorkTater
  • 5
  • 3
  • 3
  • +2
13 Comments
 
LVL 25

Expert Comment

by:Ron M
ID: 38764924
You may try a 5 or 10 second delay.
It could be due to it running before the necessary windows services are started.

Wscript.Sleep(10000)

..installer scripts normally run better as LOGON scripts rather than startup scripts.
0
 

Author Comment

by:PorkTater
ID: 38764941
They do, but this one really needs to run elevated.
0
 

Expert Comment

by:SharifMcD
ID: 38764947
mostly the root cause of such  behavior, is the access permission
- i mean usually when you run the start up a PC with your username and password (I assume you are admin) the GPO will applied and the script will run fine

- but if you supplied a normal username (no admin permission) the policy will applied as will and script will run BUT if there is any processes required administrative privilege (like installation of software) it will abandoned

to work around [I'm not expert with VBS] i use to ask my colleague to add a line to the script to run the installation process in the admin mode [just like the option RUN AS]

i hope this answer your question
regards,
0
 
LVL 47

Expert Comment

by:Donald Stewart
ID: 38765021
First off, "Startup" scripts run under the "System" context....no username or password required.

Are you using the correct command line options

http://managedsurrender.com/wiki/doku.php?id=hyperspace:install

Also looking at your script, my guess would be that your msgbox's are holding up the install during startup---as there is no way to answer them.
0
 

Author Comment

by:PorkTater
ID: 38765315
Unfortunately, I wasn't provided with an msi package for this installation, just a script file that calls a couple of executables and then runs some reporting (see above).  I can't really use the normal software push methods, which is why I'm trying to do this via the Startup or Logon GPOs.

Do you think it might be easier to add some kind of code to my script to elevate it and then run it as a Logon policy instead of a Startup policy?
0
 
LVL 25

Expert Comment

by:Ron M
ID: 38765468
If you run it as a login script it will run under the permissions of the user who is logging on.  By your specification, the user would need admin permissions on the local machine.
0
 

Author Comment

by:PorkTater
ID: 38765543
Right, unless I were to add some sort of Runas code, as I mentioned in my previous post.  I'm just not entirely sure what code I would need to add, exactly.
0
 
LVL 25

Expert Comment

by:Ron M
ID: 38765684
You could try to shell it from. Vbs. I'm on mobile though so can't test it at the moment.  Just an idea
0
 
LVL 65

Assisted Solution

by:RobSampson
RobSampson earned 500 total points
ID: 38765914
Hi, the script looks like it should successfully run from the SYSTEM account (which is what a STARTUP script does), except for a couple of things.

For this section:
	If UACEnabled() then
	   Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD,,"runas",1)
	Else
	   Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD)
	End If

Open in new window


I would change that to
	If UACEnabled() And Not (wShell.ExpandEnvironmentStrings("%COMPUTERNAME%") & "$" = wShell.ExpandEnvironmentStrings("%USERNAME%"))Then
		Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD,,"runas",1)
	Else
		Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD)
	End If

Open in new window


so that if the script is running as the local SYSTEM account, it won't run the UAC line which prompts for the runas dialog.

Secondly, on the \\MYNETWORKSHARE\public\IT\EPIC shared folder, you must add Domain Computers to the NTFS Security so that computer SYSTEM accounts can read that directory.

Also, remove this line
      MsgBox (Now & " Hyperspace Client Pack Install failed with return code: " & wExec.ExitCode & ". Please contact Epic Support.")

Open in new window


For the InstallForms procedure to work, as long as the script is in a folder where SYSTEM (Domain Computers) has access, it will be fine.

Make the same change to the UACEnabled line in the RegisterFile procedure as above with the name check.

I think it should then work.

Regards,

Rob.
0
 

Author Comment

by:PorkTater
ID: 38767129
Ok, I've made those changes--script seems to function when run directly, but I'm still having some issues getting it to run when used as a Startup Script.  I've also added a sleep function at the beginning--we'll see if that helps.

If I were interested in running this as a LOGON script, can anyone recommend some code that would allow me to elevate it as high as possible?
0
 
LVL 65

Accepted Solution

by:
RobSampson earned 500 total points
ID: 38770911
Being able to elevate a login script would required some form of external program like PSExec, and you would need to provide your credentials in plain text, so it's not necessarily a good idea.

As for the StartUp script, try running this.  I have added a log file to C:\Temp\VUMC_Install_Log.txt

for you to have a look at after you've tried to run it.  It will hopefully tell you where it's up to and what might be wrong with it.

Regards.

Rob.

option explicit
'On error resume next

Dim writetolog, strLogFile, IE, Return, oShell, baseFolder, CPCMD, verbose, wShell, wExec, oFso, xmlhttp, xmldata, version, cmpName, url, progfiles

Set oShell = CreateObject("Shell.Application")  ' ShellExecute
Set wShell = CreateObject("Wscript.Shell")      ' Exec and Run
Set oFso = CreateObject("Scripting.FileSystemObject")

verbose = False    ' If verbose then display user message console else only display error msgbox
writetolog = True  ' If writetolog then output messages to log file via the WriteLog sub procedure
strLogFile = "C:\Temp\VUMC_Install_Log.txt"

WriteLog vbCrLf & vbCrLf & String(80, "=") & vbCrLf & "Verbose flag is set to True"
If verbose Then
	WriteLog Now & " Verbose flag is set to True"
Else
	WriteLog Now & " Verbose flag is set to False"
End If

baseFolder = left(Wscript.ScriptFullName, instrrev(Wscript.ScriptFullName, "\") - 1)
WriteLog "baseFolder is " & baseFolder

WriteLog "User account running the script is " & wShell.ExpandEnvironmentStrings("%USERNAME%")

If Is64Bit() then
  progFiles = "C:\Program Files (x86)"
 Else
  progFiles = "C:\Program Files"
End If
WriteLog "progFiles is " & progfiles

If UACEnabled() Then
	WriteLog "UAC is enabled"
Else
	WriteLog "UAC is disabled"
End If

If verbose Then  ' if not verbose - we must assume run as admin 
  If UACEnabled() Then
    Return = MsgBox("This installer must run with Administrator privileges." & vbcrlf & _
                  "Did you select ""run as administrator""?", vbyesno, "Run as Administrator")
    If Return = vbno then
      Return = oShell.ShellExecute("wscript.exe", Wscript.ScriptFullName,,"runas",1)
      WScript.quit
    End If
  End If
End if

If verbose Then  ' setup IE as user message console
  Set IE = CreateObject("InternetExplorer.Application")
  IE.Navigate "about:blank"   
  IE.ToolBar = 0
  IE.StatusBar = 0
  IE.Width=700
  IE.Height = 600 
  IE.Left = 50
  IE.Top = 50

  Do While (IE.Busy)
    Wscript.Sleep 200
  Loop    

  IE.Visible = 1             
  IE.Document.Body.InnerHTML = "<html><font face=arial size=4>Welcome to the VUMC 2010 Epic Hyperspace Client Pack 8 Installer!<br><br><font face=arial size=3>" _
    & "This installer will run each install step and report<br>the final result to a remote auditing server.<br><br>No interaction is necessary.<br>" _
    & "<br>This process will take about 10 minutes to complete.<br><br><u>Please do not use this computer while this process is running.</u><br>" _  
	& "<br>This window will automatically close when the process has completed.<br><br>Process Steps:<br>"
  DisplayMsg(Now & " Begin Installation.")
End If

	'Install Client Pack
	DisplayMsg(Now & " Begin Client Pack Installation.")
	CPCMD = "/ICP \\MYNETWORKSHARE\public\IT\EPIC\RA1386_HYPERSPACE_1161.msp /VCP /lec+ C:\temp\ClientPack8Install.log /qn /P SKIPDEPLOYMENTCHECK=1 IE8FOUND=1 /s"
	If oFso.FileExists("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe") And oFso.FileExists("\\MYNETWORKSHARE\public\IT\EPIC\RA1386_HYPERSPACE_1161.msp") Then
		WriteLog "InstallMSP.exe and RA1386_HYPERSPACE_1161.msp found.  Beginning Client Pack Installation"
		If UACEnabled() And Not (wShell.ExpandEnvironmentStrings("%COMPUTERNAME%") & "$" = wShell.ExpandEnvironmentStrings("%USERNAME%"))Then
			WriteLog "NOT RUNNING AS THE LOCAL SYSTEM ACCOUNT" & vbCrLf & " Executing runas command for " & vbCrLf & "\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD
			Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD,,"runas",1)
		Else
			WriteLog "RUNNING AS THE LOCAL SYSTEM ACCOUNT" & vbCrLf & " Executing command" & vbCrLf & "\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD
			Set wExec = wShell.Exec("\\MYNETWORKSHARE\public\IT\EPIC\InstallMSP.exe " & CPCMD)
		End If
	
	    Do  ' wait for it to finish
	      WScript.Sleep 10000
		  If wExec.Status=1 Then Exit Do
		Loop
		
		If wExec.ExitCode <> 0 Then 
	      DisplayMsg(Now & " Hyperspace Client Pack Install failed with return code: " & wExec.ExitCode & ". Please contact Epic Support.")
	      If verbose Then MsgBox (Now & " Hyperspace Client Pack Install failed with return code: " & wExec.ExitCode & ". Please contact Epic Support.")
	      WriteLog Now & " Hyperspace Client Pack Install failed with return code: " & wExec.ExitCode & ". Please contact Epic Support."
	      WScript.Quit
	    End If
	Else
		WriteLog "InstallMSP.exe or RA1386_HYPERSPACE_1161.msp were not found, or access is denied.  Cannot begin Client Pack Installation"
		WScript.Quit
	End If
    
WriteLog "Installing forms..."
Return = InstallForms(baseFolder)

If Return <> 0 then
  DisplayMsg(Now & " Form registration failed with error code: " & Return & ". Please contact Epic Support.")
  WriteLog Now & " Form registration failed with error code: " & Return & ". Please contact Epic Support."
End if

DisplayMsg(Now & " Reporting Installation.")
WriteLog Now & " Reporting Installation."

' check version after install
version = oFso.GetFileVersion(progFiles & "\EpicSys\v7.8\Shared Files\" & "EpicACRuleEditor78.ocx")' Base IU5 = 78.01.3639, CP3 = 78.1.65.4785
cmpName = wShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
' Report back
 url = "http://m3.mc.vanderbilt.edu/CP3^HS2010"
'url = "http://m3alpha.mc.vanderbilt.edu:8080/CP3^HS2010"
  xmlData = cmpName & "*" & version
  xmlData = Replace(xmlData, " ", "")
  set xmlHttp = CreateObject("Microsoft.XMLHTTP")
  WriteLog "Posting data to " & url & "?" & xmldata
  xmlHttp.Open "POST", url & "?" & xmlData, false
  xmlHttp.Send ""
  xmlHttp = Null

DisplayMsg(Now & " 2010 Epic Hyperspace Client Pack 8 Install complete.  This window will close in 20 seconds.")
WriteLog Now & " 2010 Epic Hyperspace Client Pack 8 Install complete."

If verbose Then ' pause before closing message console
  WScript.Sleep 20000
  IE.Quit
End If

'///////////////////////////////////////////////////////////////////////////////
'Begin Functions
'///////////////////////////////////////////////////////////////////////////////

Sub WriteLog(m)
	Dim objOutput
  If writetolog Then
  	Set objOutput = oFso.OpenTextFile(strLogFile, 8, True)
  	objOutput.WriteLine m
  	objOutput.Close
  End If
end Sub

Function InstallForms(base)
  Dim progFiles, oFSO, oShell, intReturn, Q
  Q = Chr(34)
  If Is64Bit() then
    progFiles = "C:\Program Files (x86)"
  Else
    progFiles = "C:\Program Files"
  End if
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  Set oShell = CreateObject("Shell.Application")
  If verbose Then DisplayMsg(Now & " Installing Custom Form Update.")
  If oFso.FileExists(base & "\VUMCAttendingProvider78.ocx") Then
  	WriteLog base & "\VUMCAttendingProvider78.ocx was found. Copying to local folder"
  Else
  	WriteLog base & "\VUMCAttendingProvider78.ocx was not found.  Cannot copy to local folder"
  End If
  oFSO.CopyFile base & "\VUMCAttendingProvider78.ocx", progFiles & "\EpicSys\v7.8\Shared Files\"
  intReturn = RegisterFile("/s " & Q & progFiles & "\EpicSys\v7.8\Shared Files\VUMCAttendingProvider78.ocx" & Q)
  If intReturn>0 Then
    If verbose Then MsgBox(Now & " Error: VUMCAttendingProvider78.ocx failed to install - error code: " & intReturn)
    WriteLog Now & " Error: VUMCAttendingProvider78.ocx failed to install - error code: " & intReturn
  Else
    DisplayMsg(Now & " Installed Form Update.")
    WriteLog Now & " Installed Form Update."
  End If
  
  InstallForms = intReturn  
End Function

Function RegisterFile(params)
  Dim oShell, intReturn
  Set oShell = CreateObject("Shell.Application")
  If UACEnabled() And Not (wShell.ExpandEnvironmentStrings("%COMPUTERNAME%") & "$" = wShell.ExpandEnvironmentStrings("%USERNAME%"))Then
	WriteLog "NOT RUNNING AS THE LOCAL SYSTEM ACCOUNT" & vbCrLf & " Executing runas command for"
    WriteLog "Registering file with regsvr32.exe " & params
    intReturn = oShell.ShellExecute("regsvr32.exe", params,,"runas", 1)
  Else
	WriteLog "RUNNING AS THE LOCAL SYSTEM ACCOUNT" & vbCrLf & " Executing command"
    WriteLog "Registering file with regsvr32.exe " & params
    intReturn = oShell.ShellExecute("regsvr32.exe", params,,,1)
  End if
  RegisterFile = intReturn
End Function

Sub DisplayMsg(m)
  If verbose Then IE.Document.Body.InnerHTML=IE.Document.Body.InnerHTML & "<font face=arial color=blue>" & m & "<br>"
end sub

Function Is64Bit()
  Dim oWMI, colItems, oItem, bnReturn
  bnReturn = false
  If IsXP() then
    bnReturn = false
  Else
    Set oWMI = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = oWMI.ExecQuery("SELECT OSArchitecture FROM Win32_OperatingSystem")
    For each oItem in colItems
      If oItem.OSArchitecture = "64-bit" then
        bnReturn = true
      End if
    Next
  End If
  Is64Bit = bnReturn
End Function

Function IsXP()
  Dim oWMI, colItems, oItem, bnReturn
  bnReturn = false
  Set oWMI = GetObject("winmgmts:\\.\root\CIMV2")
  Set colItems = oWMI.ExecQuery("SELECT BuildNumber FROM Win32_OperatingSystem")
  For each oItem in colItems
    If oItem.BuildNumber < 4000 then
      bnReturn = true
    End if
  Next
  IsXP = bnReturn
End Function

Function UACEnabled()
  Dim oShell, bnReturn
  bnReturn = false
  If not IsXP() then
    Set oShell = CreateObject("Wscript.Shell")
    If oShell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") then
      bnReturn = true
    End If
  End If
  UACEnabled = bnReturn
End Function

Open in new window

0
 

Author Comment

by:PorkTater
ID: 38771023
Will try this out first thing Monday and let you know--thanks!
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 38795329
Hi, any idea what the problem ended up being?
0

Join & Write a Comment

In this article, we will see the basic design consideration while designing a Multi-tenant web application in a simple manner. Though, many frameworks are available in the market to develop a multi - tenant application, but do they provide data, cod…
Is your Office 365 signature not working the way you want it to? Are signature updates taking up too much of your time? Let's run through the most common problems that an IT administrator can encounter when dealing with Office 365 email signatures.
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through the process of configuring their Windows Server 2012 domain controller to synchronize its time with a trusted, external resource. Use Google, Bing, or other preferred search engine to locate trusted NTP …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now