-
Posts
263 -
Joined
-
Last visited
-
Days Won
3
Everything posted by Lucid
-
Why not use a script? You can then package it up just like you would a program, or use a task sequence to connect to your server and run it from there. Here's a snippet of VBScript code to illustrate how to make a local account: strUsername = "JohnDoe" strPassword = "password101" strCheckName = "" Set objUserAccounts = GetObject("WinNT://" & objNetwork.ComputerName & "") Set objUser = objUserAccounts.Create("user", strUsername) objUser.Description = "local account" objUser.SetPassword strPassword objUser.SetInfo objUserFlags = objUser.Get("UserFlags") objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD objUser.Put "userFlags", objPasswordExpirationFlag objUser.SetInfo If Not objUser.UserFlags AND ADS_UF_PASSWD_CANT_CHANGE Then 'Setting the password to never expire" objPasswordNoChangeFlag = objUser.UserFlags XOR ADS_UF_PASSWD_CANT_CHANGE objUser.Put "userFlags", objPasswordNoChangeFlag objUser.SetInfo End If Set objGroup = GetObject("WinNT://" & objNetwork.ComputerName & "/Users,group") If Not objGroup.IsMember(objUser.AdsPath) Then 'Making the user a member of the local ""Users"" group objGroup.Add(objUser.AdsPath) End If Set colWin32_UserAccount = objWMI.ExecQuery ("Select * from Win32_UserAccount Where LocalAccount = True") For Each objItem in colWin32_UserAccount If UCase(objItem.Name) = UCase(strUserName) Then strCheckName = "found" End If Next If strCheckName = "found" Then 'Successfully created the local user account Else 'Failed to create the local user account - Aborting the script Wscript.Quit(1) End If
-
Hardware Invertory add software but not removing.
Lucid replied to peanican's question in Deploy software, applications and drivers
Can you post your collection membership query for us to double-check? Typically that's where the "gotcha" is... -
Not sure if it'll help you or not, but here's a sample .XML file for Windows 7 Enterprise that should work with SCCM (watch out for odd word wrap and spacing due to the formatting on this board of course): <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <servicing></servicing> <settings pass="specialize"> <component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86" publicKeyToken="xxxxxxxxxxxxxxxxxxx" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <FavoritesList> <FavoriteItem wcm:action="add"> <FavID>1</FavID> <FavURL>http://www.microsoft.com</FavURL> <FavTitle>TestFolder\Microsoft</FavTitle> </FavoriteItem> <FavoriteItem wcm:action="add"> <FavID>2</FavID> <FavTitle>TestFolder\Apple</FavTitle> <FavURL>http://www.apple.com</FavURL> </FavoriteItem> <FavoriteItem wcm:action="add"> <FavID>3</FavID> <FavTitle>TestFolder\redhat</FavTitle> <FavURL>https://www.redhat.com</FavURL> </FavoriteItem> </FavoritesList> <DisableFirstRunWizard>true</DisableFirstRunWizard> <ShowMenuBar>true</ShowMenuBar> <Window_Title_CN>MyCompanyName</Window_Title_CN> <FavoritesDelete>true</FavoritesDelete> <Home_Page>http://www.dell.com</Home_Page> <EnableLinksBar>false</EnableLinksBar> </component> <component name="Microsoft-Windows-Deployment" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RunSynchronous> <RunSynchronousCommand wcm:action="add"> <Order>1</Order> <Description>Disable_UAC</Description> <Path>CMD /c REG.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Order>2</Order> <Description>Hide_Last_User_Name</Description> <Path>CMD /c REG.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v dontdisplaylastusername /t REG_DWORD /d 1 /f</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Path>CMD /c SUBINACL.exe /subkeyreg HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D} /grant=administrators=f</Path> <Order>3</Order> <Description>Adjust_Registry_ACL</Description> </RunSynchronousCommand> </RunSynchronous> </component> <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="x86" publicKeyToken="xxxxxxxxxxxxxx" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <fDenyTSConnections>false</fDenyTSConnections> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="xxxxxxxxxxxx" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Display> <ColorDepth>32</ColorDepth> <HorizontalResolution>1024</HorizontalResolution> <RefreshRate>60</RefreshRate> <VerticalResolution>768</VerticalResolution> </Display> </component> </settings> <cpi:offlineImage cpi:source="wim://xxxxxx.xxxxx.xxxx.xxx/osdfiles/xxxxx/osimages/windows_7_32bit.wim#1" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend>
-
Installing the SCCM 2007 Administrator Console... 1.Log into the desired machine with SCCM administrator credentials. 2.Obtain the Microsoft SCCM 2007 software (hopefully you have a copy of the source files stashed on the network). 3.Execute “...\smssetup\bin\i386\setup.exe”. 4.Click the Next button. 5.Select the “Install or upgrade an administrator console” radio button, and then click the Next button. 6.Accept the terms of the license agreement, and then click the Next button. 7.Select the “No, I do not want to participate right now.” radio button, and then click the Next button. 8.Accept the default directory by clicking the Next button. 9.Enter the following, and then click the Next button: a.Server name: (NetBIOS name of your SCCM site server) 10.Click the Next button to accept the Settings Summary information. 11.If prerequisites are missing they will be displayed within the upper pane of the console window, and will need to be installed; and the SCCM 2007 administrator console setup will need to be run again. 12.After the prerequisite checking has completed successfully, click the Begin Install button. 13.After successful completion, click the Next button. 14.Click the Finish button.
-
So if this is running on a virtual network that is separated from the physical network (which is where I assume your SCCM server reside), do you have things set up to allow the machine to be imaged when it's not on the physical network? Also, is this your first OS deployment (not capture, just trying to verify that your VM settings are correct and the infrastructure is in place), or have you deployed others to your virtual machine?
-
Does the service account that you've got entered into the OSD task sequence have rights to create/manipulate computer account objects in that OU?
-
So are you just wanting to wipe the machine and lay down a fresh OS? Or are you wanting to back up the user data, lay down the OS, and then restore it? If you're just wanting a fresh OS, then the process for a bare metal machine can be used - boot into WinPE and kick off the deployment. Otherwise, you might try posting a little more info as to exactly what it is that you're trying to accomplish...
-
guidelines for software deployments
Lucid replied to sccm_freak's question in Deploy software, applications and drivers
The you figure out what command(s) will repair the desired components, make a Program that uses that command, and then advertise it to the desired machines. http://technet.microsoft.com/en-us/library/cc178956.aspx#BKMK_repair -
What does the background look like? By default the background of a deployed Windows 7 image doesn't get changed - it's the standard Microsoft ones. So maybe one of your customization settings elsewhere is out of whack. You might check in your unattend.xml file or in your OS task sequence to see if you customize things anywhere. 1. When you captured the OS, did you set the Administrator password to blank before you ran the Capture Wizard CD? 2. Before capturing, did you delete either of these two files if they existed? C:\Windows\Panther\unattend.xml C:\Windows\System32\sysprep\unattend.xml 3. Did you activate Windows prior to capturing it? Just a few ideas off the top of my head...
-
SCCM task sequence not applying OS install package
Lucid replied to scottpineau's question in Deploy 7
Do Step 1 and Step 2 in this document help? http://www.windows-noob.com/forums/index.php?/topic/667-deploy-windows-7/ -
No join information needs to be in the .XML file. Are you sure you supplied a user name and password for an account that has rights to create a computer account object in the OU listed in the task sequence?
-
Are the user credentials correct that are in the task sequence? If you don't supply the correct user name and password as well as a valid path where that account has rights to create a computer account object, the machine can't join the domain...
-
Info on Registry Redirector: http://msdn.microsoft.com/en-us/library/aa384232%28VS.85%29.aspx
-
Oh, and as for the 32-bit/64-bit issue, maybe this VBScript code snippet might help: If strSystemType = "x64" Then Write64BitRegistry "REG_DWORD", HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background", "OEMBackground", "1" Else objWshShell.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background\OEMBackground","1","REG_DWORD" End If ' ~$~----------------------------------------~$~ Sub Write64BitRegistry (strRegType, strRootKey, strKey, strValueName, strValue) ' Attempts to write the supplied registry keys in a 32-bit wscript.exe process by using WMI. ' http://msdn.microsoft.com/en-us/library/aa393664(VS.85).aspx Dim objCtx, objLocator, objReg, intReturnCode Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet") objCtx.Add "__ProviderArchitecture", 64 Set objLocator = CreateObject("Wbemscripting.SWbemLocator") Set objReg = objLocator.ConnectServer("", "root\default", "", "", , , , objCtx).Get("StdRegProv") If Ucase(strRegType) = "KEY" Then intReturnCode = objReg.CreateKey(strRootKey,strKey) End If If Ucase(strRegType) = "REG_DWORD" Then intReturnCode = objReg.SetDWORDValue(strRootKey,strKey,strValueName,strValue) End If If Ucase(strRegType) = "REG_SZ" Then intReturnCode = objReg.SetStringValue(strRootKey,strKey,strValueName,strValue) End If If Ucase(strRegType) = "REG_EXPAND_SZ" Then intReturnCode = objReg.SetExpandedStringValue(strRootKey,strKey,strValueName,strValue) End If If Not intReturnCode = 0 Then 'Failed to set the registry entry End If End Sub And as for copying the actual file... If strSystemType = "x64" Then objWshShell.Run "C:\Windows\sysWOW64\xcopy.exe """ & strScriptFileDirectory & "\LogonScreenBackground"" ""C:\Windows\sysnative\oobe\Info\backgrounds"" /E /I /H /R /Y", 0, True Else If Not objFSO.FolderExists(WinDir & "\System32\oobe\Info") Then objFSO.CreateFolder(WinDir & "\System32\oobe\Info") End If If Not objFSO.FolderExists(WinDir & "\System32\oobe\Info\backgrounds") Then objFSO.CreateFolder(WinDir & "\System32\oobe\Info\backgrounds") End If If objFSO.FolderExists(WinDir & "\System32\oobe\Info\backgrounds") Then objFSO.CopyFile (strScriptFileDirectory & "\LogonScreenBackground\backgroundDefault.jpg"), (WinDir & "\System32\oobe\Info\backgrounds\backgroundDefault.jpg"), True End If End If
-
What about using a logon message (this is only a snippet of VBScript code of course)? strUsername = "JoeStudent" strPassword = "MyLongPassphrase" strCheckName = "" Set objUserAccounts = GetObject("WinNT://" & objNetwork.ComputerName & "") Set objUser = objUserAccounts.Create("user", strUsername) objUser.Description = "account for off campus use" objUser.SetPassword strPassword objUser.SetInfo objUserFlags = objUser.Get("UserFlags") objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD objUser.Put "userFlags", objPasswordExpirationFlag objUser.SetInfo If Not objUser.UserFlags AND ADS_UF_PASSWD_CANT_CHANGE Then 'Setting the password to never expire objPasswordNoChangeFlag = objUser.UserFlags XOR ADS_UF_PASSWD_CANT_CHANGE objUser.Put "userFlags", objPasswordNoChangeFlag objUser.SetInfo End If Set objGroup = GetObject("WinNT://" & objNetwork.ComputerName & "/Users,group") If Not objGroup.IsMember(objUser.AdsPath) Then objGroup.Add(objUser.AdsPath) End If Set colWin32_UserAccount = objWMI.ExecQuery ("Select * from Win32_UserAccount Where LocalAccount = True") For Each objItem in colWin32_UserAccount If UCase(objItem.Name) = UCase(strUserName) Then strCheckName = "found" End If Next If Not strCheckName = "found" Then 'Failed to create the local user account Wscript.Quit(1) End If strTitle = "PLEASE READ:" strCaption = "Please log on as """ & objNetwork.ComputerName & "\" & strUserName & """ with the password of """ & strPassword & """." objWshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LegalNoticeCaption", strTitle,"REG_SZ" objWshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LegalNoticeText", strCaption,"REG_SZ" Wscript.Quit
-
Is it only happening on this image? Do you have other images that successfully deploy? Maybe try updating the DPs for your ConfigMgr package, and make sure the settings are correct in the Package as well as in that part of your task sequence...
-
No, you shouldn't have to log on for your apps to install. If by "apps" you mean your SCCM packages. If that's happening, then you might take a look at your Package's Program's settings to ensure that you didn't require them to only install when a user is logged in....
-
Just tossing out my two cents... If you're running post-install scripts after you logged in, you should be able to convert them to a script that can be run by the OSD process. We customize a ton of settings in the OS via VBScript (just make your script into a package and add it to the tail end of your OS TS), so you may want to think about tackling the issue from that direction...
-
Why do you need it to auto-logon as part of the deployment process? Can you create a separate package, have that targeted to a collection, and then just plop the newly imaged machine into that collection? Either that, or look at requiring people to log on? You could always have a message display when someone presses CTRL+ALT+DEL, or else just tweak the background image on the screen. Just a thought...
-
Forefront Endpoint deployment and updates ?
Lucid replied to Armann's question in Deploy software, applications and drivers
I don't use Forefront, but since nobody chimed in I thought I'd toss this out... First, you may want to look at deploying definitions via WSUS if you have that running: http://support.microsoft.com/kb/977939 Secondly, there are updates for 32-bit which is one download, and then there are 64-bit updates, which is a different download. So you'll need to either use a VBScript wrapper to kick off the needed installer, or target your 64-bit machines separately to deploy those updates. Oh, and you might try checking the "execmgr.log" log on the client machine for clues what may be going wrong if the logs presented to you within the ConfigMgr console aren't helping (each advertisement has a log)... -
First off, since you're asking about XP, you may want to post in the XP forum instead of the Win7 forum. Secondly, have you taken a look at the guides provided on this site? http://www.windows-noob.com/forums/index.php?/topic/569-how-can-i-deploy-windows-xp-sp3-using-sccm-2007-sp1-part-1/
-
I thought I'd toss in my two cents for whatever it's worth...Of course, keeping in mind that every environment is different. We used to have a "thin" image that basically contained the OS and a few small apps, and that was it. We were then using task sequences or Jason Sandy's OSD AppTree to install additional applications and updates on-the-fly during OS deployment. After awhile our techies started telling us that anything we could do to speed up the OS deployment would be appreciated (we were doing a LOT of deployments at that point in time). So we then decided to switch to a "thick" image where we baked in any application that we felt should be on each and every machine. While this took a little longer to work into our automated Build and Capture process, in the end we cut down the deployment times and made both our users and our field techs happy. For those trying to decide what to do, nowadays I'd suggest installing any and all applications that you feel should be on 80% or more of your machines. Remember, you can always use a task sequence step to silently UNinstall an application that's part of your image. As far as updates and such are concerned... We typically capture new OS images about every other month anyway (we've only got a single 32-bit and a single 64-bit Win7 image these days). And since we have to package the update for SoftwareX anyway, it's fairly easy for us to toss it into our Build and Capture process and add it in as part of the .WIM the next time we capture an OS image (which typically involves me kicking it off as I walk out the door to lunch). Anyway, just more food for thought...
-
You say you try to format it manually... what exactly are the commands you're running? Have you created a partition before you formatted? Also, are you sure it's not just a bad drive? CREATE PARTITION PRIMARY ASSIGN LETTER C: ACTIVE EXIT FORMAT C: /FS:NTFS /X /Q
-
Well, as long as you added the driver to the boot image, and didn't crack open the boot.wim file itself and inject it, you should (theoretically) be getting the right driver during the boot process. And as long as you don't have a bad WMI query or something on the driver in your task sequence it should pick it up. I think you may need to paw through your log files and/or post some of the errors listed in them. If you've added Command Line Support to the boot image, after the imaging process errors out, you can boot from your CD again, and once you're into Windows PE, press F8. You can then browse through the old install on the machine and snag the log files off of it (copy them to a USB key or a network share or something).
-
So why not create a package for the .NET stuff and set the Package's Program to have ConfigMgr restart the computer? Basically, let the package do the restart instead of your OS task sequence...