Jump to content


kaisersose1995

Established Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by kaisersose1995

  1. Hi,

    I'm getting error ID 5354 on component SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT with description:

     

    Error Milestone PRI 02/10/2015 13:20:02 <PRI SITE SERVER> SMS_AD_SECURITY_GROUP_DISCOVERY_AGENT 5354 Active Directory Security Group Discovery Agent failed to bind to container LDAP://OU=TESTACCOUNTS,OU=USERS,DC=AD. Error: There is no such object on the server. -- Extended Error --- LDAP Provider : 0000208D: NameErr: DSID-03100238, problem 2001 (NO_OBJECT), data 0, best match of: 'OU=Users,DC=ad' . Possible cause: The AD container specified earlier might be invalid now. The Domain Controller is inaccessible. Solution: Please verify that the AD container paths specified are valid. Confirm accessibility of the site server to the Domain Controller to be queried.

     

    Now this message is completely valid as the OU TESTACCOUNTS does indeed no longer exist, however I would have expected SCCM to realize that it no longer existed remove it from its discovery run. Under User Discovery I have the main Users OU selected with Recursively search Active Directory child containers, but there is no option like with System Discovery to discount items that are no valid after a given period.

     

    How do I remove this OU from the discovery run to stop the errors?

     

    Thanks

     

    Richard

  2. Just thought I'd share a script I wrote this morning. I currently have a task sequence that builds various devices and takes the OSDComputerName variable from the Asset Tag BIOS field. The Surface Pro 3 works a little different, in that you can't set this field directly from the BIOS, you need to set it using a CLI utility (available here - http://www.microsoft.com/en-us/download/details.aspx?id=44076).This usually means booting a brand new device, going through the OOBE stuff, running the CLI utility, then restarting into PXE and continuing with imaging as normal. The below .vbs script first checks if there is an existing asset tag entered, and if not prompts the user to enter a machine name, which it then uses in the Task Sequence and sets the tag locally using the utility, so the next time the device is built it just takes the tag straight from the BIOS.

     

    Dim objWMIService
    Dim colItems
    Dim objSMSEnv
    Dim strNewName
    Dim WshShell
    Dim strCurDir
    
    Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_SystemEnclosure")
     
    'Get the current Asset Tag
    For Each objItem In colItems
      'Remove all beginning, trailing and containing spaces and switch to uppercase
      strNewName = objItem.SMBIOSAssetTag
    Next
    
    wscript.echo "Currently using " & strNewName & " as OSDComputerName"
    
    If left(strNewName,4) <> "SomeString" Then 
    	Do While X = 0
    		strNewName = InputBox ("Please enter a machine name i.e. HP-XXXXXX","Enter Machine Name...")
    		If strNewName = "" Then
    			Wscript.Echo "You must enter a machine name."
    		Else
    			Set WshShell = WScript.CreateObject("WScript.Shell")
    			strCurDir = WshShell.CurrentDirectory			
    			WshShell.Run strCurDir & "\AssetTag -s " & UCase(strNewName), 0
    			
    			wscript.echo "Currently using " & strNewName & " as OSDComputerName
    			
    			Set objSMSEnv = CreateObject("Microsoft.SMS.TSEnvironment")
    			wscript.echo "Set Task Sequence variable OSDComputerName to: " & strNewName
    			objSMSEnv("OSDComputerName") = UCase(strNewName)
    			Exit Do
    		End If
    	Loop
    Else
    	Wscript.Echo strNewName
    	Set objSMSEnv = CreateObject("Microsoft.SMS.TSEnvironment")
    	wscript.echo "Set Task Sequence variable OSDComputerName to: " & strNewName
    	objSMSEnv("OSDComputerName") = UCase(strNewName)
    End If 
    
    Set WshShell = Nothing
    

    I deployed it by having AssetTag.exe and script file in a folder on my SCCM OSD scripts directory, then created a simple package without program and pointed at this location. After distributing to my local DPs I then created a Run Command Line task sequence item and added the name of the script file into the Command Line area, making sure to reference the package containing the script.

     

    post-30938-0-88803500-1440071185_thumb.jpg

  3. Whereabouts in your task sequence are you trying to set OSDComputeName? My sequence goes: partition disk -> Apply OS -> OSDComputerName -> Drivers -> windows settings -> network settings -> Setup Windows and Configuration Manager.

     

    I use a script to pull the name from the BIOS AssetTag field (or the serial number) which is over 8 characters and have no issues. The only thing to bear in mind is, if your domain joining the device the name needs to be under 15 characters - https://support.microsoft.com/en-us/kb/909264

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.