Jump to content


Brian P

Established Members
  • Posts

    19
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Brian P

  1. <![LOG[Expected image state is IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE, actual image state is IMAGE_STATE_COMPLETE, sysprep did not succeed.]LOG]!><time="12:01:16.000+000" date="01-18-2019" component="LTISysprep" context="" type="3" thread="" file="LTISysprep">
    <![LOG[FAILURE ( 6192 ): ERROR - Sysprep did not complete successfully, check C:\Windows\system32\sysprep\panther\setupact.log for details]LOG]!><time="12:01:16.000+000" date="01-18-2019" component="LTISysprep" context="" type="3" thread="" file="LTISysprep">

    What does setupact.log say?

  2. 9 hours ago, skissinger said:

    maybe I'm speaking out of turn here... but I am completely lost as to why you are trying to use a script to install software from a network share.

    Why wouldn't you create applications, to install Visual C++ 2005, and another one for 2015... etc?  i.e., use CM like it's supposed to be used?  the scripts node to me doesn't make sense as a way to do this.

    The  software vendor provided us with an executable that have to be installed as current user, it copies files to there LocalApp folder and desktop and the installer requires C++ 2005, 2010 and 2015 or higher.
    We have a mixed environment with Windows 7 with all versions of C++ and Windows 10 with C++ 2010 and above. Maybe we were to optimistic, but we didn't think that our new versions of software still required C++ 2005 so we did not include it in our Windows 10 images and may have to rethink that part.

    We don't want to install more software then needed on our machines and our user are using more then one machine depending on that task there a supposed to do.  For that reason I created the script to make sure that we can provide the users with the software if they contact us about missing software.

  3. Hi again.

    @skissinger it did work when checking up with the shares, thank you!

     

    My script is not working, but I'm really not happy with it, I think its a big mess.
    Is there a predefined function/$env:xxx  for all users desktop or a smarter way to gather the variables below to?

    $profilesfolder = 'c:\users\'
    $excluded_profiles = @( 'All Users', 'Default.migrated', 'Public' )
    $profiles = get-childitem $profilesfolder -Directory -force | Where-Object { $_.BaseName -notin $excluded_profiles }

    $targetfolder = '\AppData\Local\'
    $Desktop = '\Desktop\'

    $destination = $profilesfolder + $profile + $targetfolder (C:\Users\user1\AppData\Local, C:\Users\user2\AppData\Local, etc.)
    $CUELinkDestination = $profilesfolder + $profile + $Desktop (C:\Users\user1\Desktop, C:\Users\user2\Desktop, etc.)

     

    # Set source files for CUE Print Installation
    $sourcefolder = Get-Item -path "\\NETWORKSHARE\Software\CCI\Prod\CCI Europe", "\\dc1\NETLOGON\Software\CCI\Prod\CUEPrint"
    $CUELink = Get-Item -Path "\\NETWORKSHARE\Software\CCI\Prod\CUEPrint.lnk"
    $profilesfolder = 'c:\users\'
    $excluded_profiles = @( 'All Users', 'Default.migrated', 'Public' )
    $profiles = get-childitem $profilesfolder -Directory -force | Where-Object { $_.BaseName -notin $excluded_profiles }
    
    $targetfolder = '\AppData\Local\'
    $Desktop = '\Desktop\'
    
    $logfile = "\\NETWORKSHARE\Software\CCI\logs\$env:COMPUTERNAME.log"
    $FormattedDate = Get-Date -Format "yyyy-MM-dd HH:mm:ss" 
    
    # Copying files to Desktop and LocalApp
    foreach ($profile in $profiles) {
        $destination = $profilesfolder + $profile + $targetfolder
        $CUELinkDestination = $profilesfolder + $profile + $Desktop
        Write-Output "$FormattedDate : Starting to copy CUEPrint Prod for $profile" | Out-File -FilePath $logfile -Append
        Copy-Item -Path $sourcefolder -Destination $Destination -Force -Recurse
        Copy-Item -Path $CUELink -Destination $CUELinkDestination -Force
        Write-Output "$FormattedDate : Files copied to user: $profile" | Out-File -FilePath $logfile -Append
    }
    
    
    # Looking for Microsoft Visual C++ 2005 x86
    If (Get-Item -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{710f4c1c-cc18-4c49-8cbf-51240c89a1a2}" -ErrorAction SilentlyContinue) {
    # Application exists
        Write-Output 'Microsoft Visual C++ 2005 x86 already Installed!'
    
    } Else {
    #Installing Applications
        Write-Output "$FormattedDate : Installing Microsoft Visual C++ 2005 x86.." | Out-File -FilePath $logfile -Append
        Start-Process '\\NETWORKSHARE\Software\CCI\C++\Microsoft Visual C++ 2005 x86.exe' /q -NoNewWindow -Wait | Out-Null
        Write-Output "$FormattedDate : Installation completed." | Out-File -FilePath $logfile -Append
    }
    # Looking for Microsoft Visual C++ 2010 x86
    If (Get-Item -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}" -ErrorAction SilentlyContinue) {
    # Application exists
        Write-Output 'Microsoft Visual C++ 2010 x86 already installed!'
    
    } Else {
    #Installing Applications
        Write-Output "$FormattedDate : Installing Microsoft Visual C++ 2010 x86.." | Out-File -FilePath $logfile -Append
        Start-Process '\\NETWORKSHARE\Software\CCI\C++\Microsoft Visual C++ 2010 x86.exe' /q -NoNewWindow -Wait| Out-Null
        Write-Output "$FormattedDate : Installation completed." | Out-File -FilePath $logfile -Append
    }
    # Looking for Microsoft Visual C++ 2015 x86
    If (Get-Item -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{e2803110-78b3-4664-a479-3611a381656a}" -ErrorAction SilentlyContinue) {
    # Application exists
        Write-Output 'Microsoft Visual C++ 2005 x86 already installed"'
    
    } Else {
    #Installing Applications
        Write-Output "$FormattedDate : Installing Microsoft Visual C++ 2015 x86.." | Out-File -FilePath $logfile -Append
        Start-Process '\\NETWORKSHARE\Software\CCI\C++\Microsoft Visual C++ 2015 x86.exe' /quiet -NoNewWindow -Wait| Out-Null
        Write-Output "$FormattedDate : Installation completed." | Out-File -FilePath $logfile -Append
    
    }

     

  4. I found out it was permissions on the share, can anyone enlighten me, what user is "Run Script" using when running?

     

    $UserFolder = Get-ChildItem -path "C:\Users\*"
    
    $Folders = Get-ChildItem -Path "\\XXX\s$\Powershell\Newsgate\Prod" -Exclude "CUEPrint.lnk", "Install-CUEPrintProd.ps1", "Install-CUEPrintProdAllUsers.ps1"
    $SourceLink = Get-Item -Path ("\\XXX\s$\Powershell\Newsgate\Prod" + "\CUEPrint.lnk")
    
    foreach ($file in $UserFolder)
    {
    Copy-Item $Folders -Destination $file'\Appdata\local'
    Copy-Item $SourceLink -Destination $file'\Desktop\'
    }
    Copy-Item $Folders -Destination 'C:\Users\Default\appdata\Local'
    Copy-Item $SourceLink -Destination 'C:\Users\Default\Desktop'

     

  5. Hello friends.

    I'm trying to create a script can be activated from ConfigMgr consol that will copy some folders and files to all users who been logged on the computer. The script is working fine if I'm running it manually from Powershell. If running the from ConfigMgr consol the "Script" function execute and complete but nothing happens.

    Just for testing I tried to add the lines below, then the console just keep saying creating job. I can see it copies the script to the target computer in the ScriptStore.

    ### Only for testing ###

    Add-Type -AssemblyName PresentationCore,PresentationFramework
    $ButtonType = [System.Windows.MessageBoxButton]::OK
    $MessageIcon = [System.Windows.MessageBoxImage]::Information
    $MessageBody = "CUE Prod Installed!"
    $MessageTitle = "Install Status"
    $Result = [System.Windows.MessageBox]::Show($MessageBody,$MessageTitle,$ButtonType,$MessageIcon)

     

    Add-Type -AssemblyName PresentationCore,PresentationFramework
    
    $UserFolder = Get-ChildItem -path "C:\Users\*"
    #$Folders = Get-ChildItem -Path $PSScriptRoot -Exclude "CUEPrint.lnk", "Install-CUEPrintProd.ps1", "Install-CUEPrintProdAllUsers.ps1"
    #$SourceLink = Get-Item -Path ($PSScriptRoot + "\CUEPrint.lnk")
    
    $Folders = Get-ChildItem -Path "\\XXX\s$\Powershell\Newsgate\Prod" -Exclude "CUEPrint.lnk", "Install-CUEPrintProd.ps1", "Install-CUEPrintProdAllUsers.ps1"
    $SourceLink = Get-Item -Path ("\\XXX\s$\Powershell\Newsgate\Prod" + "\CUEPrint.lnk")
    
    
    foreach ($file in $UserFolder)
    {
    Copy-Item $Folders -Destination $file'\Appdata\local'
    Copy-Item $SourceLink -Destination $file'\Desktop\'
    }
    Copy-Item $Folders -Destination 'C:\Users\Default\appdata\Local'
    Copy-Item $SourceLink -Destination 'C:\Users\Default\Desktop'
    
    
    ### Only for testing ###
    $ButtonType = [System.Windows.MessageBoxButton]::OK
    $MessageIcon = [System.Windows.MessageBoxImage]::Information
    $MessageBody = "CUE Prod Installed!"
    $MessageTitle = "Install Status"
     
    $Result = [System.Windows.MessageBox]::Show($MessageBody,$MessageTitle,$ButtonType,$MessageIcon)
     
    #Write-Host "Your choice is $Result"

     

  6. Hi.

    Is it possible to capture a specific registry sitting/folder for all users (HKU\S-1-5-21-*) who have used the machine?

     

       <component type="Documents" context="User">
          <displayName>Test</displayName>
          <role role="Data">
             <rules>
                <include>
                   <objectSet>
                      <pattern type="Registry">HKU\S-1-5-21-*\Software\Test\Client\Settings\[*]</pattern>
                   </objectSet>
                </include>
             </rules>
          </role>
       </component>
  7. Hi friends,

    I had an already known machine in ConfigMgr and I wanted to deploy a new operating system to the machine.
    I made a tasksequence deployment to "All Unknown Computers" and deleted a machine under "Devices" but it keep saying device is in the database. I have waited for like 2-3 days, restartet WDS and did a query to see if the MAC address is in the datatabase but it can't be found.

    How do I make the machine "unknown"?


    Querie:

    select SMS_R_System.Name, SMS_R_System.MACAddresses, SMS_G_System_NETWORK_ADAPTER.ResourceID from  SMS_R_System inner join SMS_G_System_NETWORK_ADAPTER on SMS_G_System_NETWORK_ADAPTER.ResourceId = SMS_R_System.ResourceId where SMS_G_System_NETWORK_ADAPTER.MACAddress = "88:51:FB:7F:E8:F7"

     

    SMSPXE.log:
    94:DE:80:8F:A6:C7, 03000200-0400-0500-0006-000700080009: device is in the database.    SMSPXE    24-01-2018 14:20:27    484 (0x01E4)
     

  8. Hallo everyone,

     

    After MDT have been running the first Windows Update of eighth it returns in Windows to continue the TS it fails because the NIC gets an IP to slow.

    After 2. sec the LAN icon change and we're able to press retry and it will continue.

     

    <![LOG[Error searching for updates: ERROR_INTERNET_TIMEOUT: Retry! (-2147012894)]LOG]!><time="16:06:12.000+000" date="01-29-2016" component="ZTIWindowsUpdate" context="" type="1" thread="" file="ZTIWindowsUpdate">

     

    This is the same for all our computermodels.

     

    Anyone have an idea what it can be or how to fix it?

     

    Server Setup:

    Windows 2012 R2

    MDT 6.3.8298.1000

    ADK 10.0.26624

     

    Default Windows Update Script:

     

    TS.JPG

     

    NIC Status from Windows (2-4 sec.):

    NICStatus.jpg

     

    MDT Error message: (If I click "forsøg igen/Try again" it continues.)

    Error.jpg

  9. You should choose:

     

    1. "Manaually specify the application information"

    2. Under "General Information" - Type needed software information

    3. Under "Application Catalog" - Type needen information for use in the Application Catalog

    4. Under "Deployment Type" - Choose "Add"

    5. Under "Specify settings for deployment type" - Type: Choose "Script Installer"

    6. Under "Specify general information for this deployment type" - Type needed information

    7. Under "Specify information about the content to be deliverered to target device" - Set software path "\\server\s$\softwareFolder" and how to execute "setup.exe /S"

     

    Hope this helped.

     

    Best regards

    Brian Pedersen

  10. To get Windows Update to work with ConfigMgr you need WSUS. ConfigMgr just tell WSUS what to do and must importent when it's allowed to perform the tasks. For instants if you just use WSUS without ConfigMgr then you have no control of when the patching will be performed on the machines and they might reboot to complete the operation. If you use WSUS as a part of ConfigMgr you have total control of when the updates should be ready for download, when patching is allowed and if reboot is required to complete when the reboot is allowed.

     

    Hope this could help.

  11. Hi Craig

     

    Welcome to the ConfigMgr univers! :-)

     

    When you assign your task sequence to the collection it should be "Required". When you have your TS in place you can right click on the computer you want and add it to the collection.

    If the computer isn't known by ConfigMgr you can mark the collection and select import and then assign the computer by it's mac address.

     

    Best regards

    Brian Pedersen

  12. Hi Peter

     

    Sorry for my late reply. I've been on vacation for some time, which was very good for me and the office, cause I really have been struggling with this! :-)

     

    I found out if I try to deploy it as an application using script it fails but if I deploy it good old fashioned way as a package it works.

     

    Thanks for your help.

     

    Best regards

    Brian P.

  13. HI Kevin and Peter

     

    I used the default setup (120 min) for the deployment.

     

    I think I found the problem in the AppEnforce.log. When the setup complets it look for the software and fails to find it.

    Because its a script installation I'm forced to have a detection method. I Made this setting:

     

    Setting Type: File System

    Type: File

    Path: C:\Oracle\11.2.0\NETWORK\ADMIN

    File or folder name: sqlnet.ora

     

    If I look at the client where I deployed Oracle sqlnet.ora is located in the correct folder.

     

     

    AppEnforce.log:

    <![LOG[    App enforcement environment: 
    Context: Machine
    Command line: setup.exe -silent -nowelcome -noconfig -nowait -responseFile "\\Server\windows\Oracle\Oracle 11gR2\x86\client\response\NetListner.rsp"
    Allow user interaction: No
    UI mode: 1
    User token: null
    Session Id: 2
    Content path: C:\WINDOWS\ccmcache\3q
    Working directory: ]LOG]!><time="21:09:43.843-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appcontext.cpp:85">
    <![LOG[    Prepared working directory: C:\WINDOWS\ccmcache\3q]LOG]!><time="21:09:43.844-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appcontext.cpp:189">
    <![LOG[    Prepared command line: "C:\WINDOWS\ccmcache\3q\setup.exe" -silent -nowelcome -noconfig -nowait -responseFile "\\Server\windows\Oracle\Oracle 11gR2\x86\client\response\NetListner.rsp"]LOG]!><time="21:09:43.847-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appcontext.cpp:338">
    <![LOG[    Executing Command line: "C:\WINDOWS\ccmcache\3q\setup.exe" -silent -nowelcome -noconfig -nowait -responseFile "\\Server\windows\Oracle\Oracle 11gR2\x86\client\response\NetListner.rsp" with user context]LOG]!><time="21:09:43.847-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appexcnlib.cpp:201">
    <![LOG[    Working directory C:\WINDOWS\ccmcache\3q]LOG]!><time="21:09:43.847-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appexcnlib.cpp:215">
    <![LOG[    Post install behavior is BasedOnExitCode]LOG]!><time="21:09:44.278-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appcommon.cpp:1094">
    <![LOG[    Waiting for process 3840 to finish.  Timeout = 120 minutes.]LOG]!><time="21:09:44.286-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appexcnlib.cpp:1958">
    <![LOG[    Process 3840 terminated with exitcode: 0]LOG]!><time="21:10:03.203-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appexcnlib.cpp:1967">
    <![LOG[    Looking for exit code 0 in exit codes table...]LOG]!><time="21:10:03.204-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appexcnlib.cpp:505">
    <![LOG[    Matched exit code 0 to a Success entry in exit codes table.]LOG]!><time="21:10:03.204-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appexcnlib.cpp:584">
    <![LOG[    Performing detection of app deployment type 11 g(ScopeId_C558CBE6-72DB-4551-8F57-B64B2C9D4A84/DeploymentType_7448ba01-0b97-47e7-98d5-aad826ec185b, revision 8) for system.]LOG]!><time="21:10:03.215-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appprovider.cpp:2148">
    <![LOG[+++ Application not discovered. [AppDT Id: ScopeId_C558CBE6-72DB-4551-8F57-B64B2C9D4A84/DeploymentType_7448ba01-0b97-47e7-98d5-aad826ec185b, Revision: 8]]LOG]!><time="21:10:03.245-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="localapphandler.cpp:291">
    <![LOG[++++++ App enforcement completed (19 seconds) for App DT "11 g" [ScopeId_C558CBE6-72DB-4551-8F57-B64B2C9D4A84/DeploymentType_7448ba01-0b97-47e7-98d5-aad826ec185b], Revision: 8, User SID: ] ++++++]LOG]!><time="21:10:03.246-120" date="06-25-2014" component="AppEnforce" context="" type="1" thread="3652" file="appprovider.cpp:2448">
    
  14. Hi Peter,

     

    Sorry for my late reply, I have been struggling with my image.

     

    If I create it as a application, with the commandline below it installs correct. But returns as installed failed long before the installation is completed.

    setup.exe -silent -nowelcome -noconfig -responseFile "\\server\Oracle 11gR2\x86\client\response\NetListner.rsp" or

    setup.exe -silent -nowelcome -noconfig -nowait -responseFile "\\server\Oracle\Oracle 11gR2\x86\client\response\NetListner.rsp"

  15. Hi,

     

    I need to deploy Oracle database client 11 g to some of our already installed client devices and thou OSD deployment. I did some research how other did it but couldn't find a way which matched out company.

     

    I read that is should work to install it as a task sequence with only one command, but I was not able to make it work. So I made a good old fashion batch-file.

    @echo offnet use /delete N:
    net use N: "\\Server\windows\Oracle\Oracle 11gR2\x86\client" /USER:domain\cm_jd xxxxxx
    N:
    
    REM Set TMP=C:\TEMP\Oracle
    REM Set TEMP=C:\TEMP\Oracle
    
    setup.exe -silent -nowelcome -responseFile "N:/response/NetListner.rsp"
    
    echo Installing Oracle 11g with NetListner please wait..
    Timeout /t 60 /NOBREAK > NUL
    echo Copy tnsnames\tnsnames.ora to C:\Oracle\11.2.0\NETWORK\ADMIN\
    Timeout /t 5 /NOBREAK > NUL
    copy tnsnames\tnsnames.ora C:\Oracle\11.2.0\NETWORK\ADMIN
    C:
    net use /delete N: /y
    echo Installation completed..
    Timeout /t 5 /NOBREAK > NUL

    It works but there must be a better way?

     

    Best regards,

    Brian Pedersen

  16. Hi,

     

    For some time ago Johan Arwidmark had a session how to speed up the deployment hole deployment by 20%. Unfortunately I can only find some blogs about how to speed up the PXE. By changing a registry key on the deployment server from 4 kb til 12 kb it made the clients download the WIM file faster.

     

    Do anyone know anything about this?

     

    Best regards,

    Brian Pedersen

×
×
  • 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.