Jump to content

Recommended Posts

Posted (edited)

Hey all,

 

I'm trying to get BGInfo to run at Computer startup, running from a network share, deployed via GPO.

 

I only want it running on a certain group of machines - hence Computer Startup.

 

Can't seem to get it running.

 

Any suggestions to where I'm going wrong.

 

---------------------------------------------------------------------------

BGInfo.bat

 

CALL “\\sv-01\networkapps$\BGInfo\BGInfo.exe” “\\sv-01\networkapps$\BGInfo\HostNameOnly.bgi” /timer:0 /nolicprompt"

---------------------------------------------------------------------------

 

 

Works when I run it from my desktop but not on startup.

 

 

Only other way I can think of getting it running is by using loopback on the GPO but thats a bit of a faff.

 

It must be something to do with setting the wallpaper for the user.

 

 

 

Cheers in advance :)

Edited by mikkydoos
Posted
When I looked at this in the past I couldn't get it reliably running from a network share for some reason. What I've done is copied it down onto the client and then put a shortcut in the startup folder and let it run locally. Works fine. If you use GPP you can use Item level Targeting to specify the computers/OU you want it applying to.
Posted

BGInfo.bat

 

CALL “\\sv-01\networkapps$\BGInfo\BGInfo.exe” “\\sv-01\networkapps$\BGInfo\HostNameOnly.bgi” /timer:0 /nolicprompt"

 

That's what I've got, though mine doesn't use "CALL" and is running from NETLOGON (which I'm now expecting to be told is bad!). Mine's a logon script, though - it only applies to Students.

Posted
That's what I've got, though mine doesn't use "CALL" and is running from NETLOGON (which I'm now expecting to be told is bad!). Mine's a logon script, though - it only applies to Students.

 

CALL isn't neccessary yes. I dont want it running per user though. I want it running per machine.

Posted
That's what I've got, though mine doesn't use "CALL" and is running from NETLOGON (which I'm now expecting to be told is bad!). Mine's a logon script, though - it only applies to Students.

 

Na, CALL is for calling other Batch files without ending the current batch file if I am not mistaken.

@mikkydoos If you are using Vista or above, are you converting the wallpaper to a jpg under 245kb and as the file %windir%\system32\oobe\info\backgrounds\backgroundDefault.jpg? You'll need to enable a GPO as well, I will dig this out.

Posted
Na, CALL is for calling other Batch files without ending the current batch file if I am not mistaken.

@mikkydoos If you are using Vista or above, are you converting the wallpaper to a jpg under 245kb and as the file %windir%\system32\oobe\info\backgrounds\backgroundDefault.jpg? You'll need to enable a GPO as well, I will dig this out.

 

No, just running it stock ATM

Posted
You may find it runs and creates the new wallpaper, but Windows doesn't display that wallpaper. We double up by setting the local wallpaper file in GP (User Config/Admin Templates/Desktop/Desktop Wallpaper) as the file that bginfo updates - if one doesn't work, the other tends to catch it.
Posted
I'm not sure it will be possible to get it running per machine, as it works by modifying the users wallpaper. How can it do that if the user profile hasn't been loaded?
Posted
You run it at startup to modify the Login desktop. Then you can run it at user login for their personal desktop. To be able to run it from a share, the computer/user account needs permission to read it. So you should add 'Authenticated Users' into your ACLs. A lazy way to do this is to put it a subfolder of your Netlogin share, as that already has the right permissions.
Posted

You can only run it as a logon script.

 

You could create a special group policy for this, set it as a logon script and then set a WMI filter on the group policy so it only runs on certain machines. To create a filter something has to be different on the machines, such as they being with something different, or use a different operating system etc.

Posted

We use BGInfo at startup to set the stations wallpaper on all our Win 7, 8 and 10 stations.

It doesn't always show the new wallpaper until someone has logged on, or the station has rebooted

Posted
I'm not sure it will be possible to get it running per machine, as it works by modifying the users wallpaper. How can it do that if the user profile hasn't been loaded?

 

Is exactly what I'm thinking @Bezwick. I'm trying out a loopback policy now that I have running for my screensavers.

 

I'll post back the results.

Posted (edited)
I'm not sure it will be possible to get it running per machine, as it works by modifying the users wallpaper. How can it do that if the user profile hasn't been loaded?

 

Ah... yeah mis-read as changing the 'boot' wallpaper... which the GPOs would have been...

 

Administrative Templates -> System -> Logon -> Always use custom logon background: Enabled

Administrative Templates -> Control Panel -> Personalization -> Force a specific default lock screen image: Enabled

Path to lock screen image: C:\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg

 

 

Though, if you are making wallpaper for users on bootup, note you will not be able to customise them with the username or some other features and you will need to set a GPO to redirect the specific users wallpaper anyway :(.

 

@FN-GM has a good idea with WMI filtering though.

Edited by DJ-1701
Posted

It depends on what information your wanting on your wallpaper.

 

If it's just the station name, then you can generate the wallpaper at startup via BGinfo, then convert it from BMP to JPEG.

If it was just for logon screen, then you use the oobe folder location and set it in gpo.

 

If you want it for the users, then you just set their wallpaper to look to that local location for the stations that you want it to apply on.

 

We update the users wallpaper at logon as we want their details as well as the station name displayed (plus different colour backgrounds)

Posted

I use ours to see if it's staff or student logged in (different background colour) as well as querying a few version numbers so I can quickly see if the PC is up to date with patches

 

BGInfo.JPG

Posted
@Boredguy

 

Like how?

We use a PowerShell script that is run at station start up.

It copies from our netlogon folder the different BGInfo files and wallpaper templates to the local machine.

 

It then used BMP2JPG (free software) to convert the BGInfo BMP file into a JPEG that is copied into the oobe folder. As long as your GPO setting (mentioned in previous post) is configured so your station knows where the logon screen wallpaper is, then it will be replaced by this script. You will need to logon as a user and back off again for it to be displayed, or rebooted a second time.

 

You can set your user default wallpaper via GPO to be the same jpg if you wished.

 

#Set some values up for locations called later in the script

$WinDir = (Get-Childitem env:WinDir).Value
$InfoDir = "$WinDir\system32\oobe\info"
$Backgrounds = $InfoDir + "\backgrounds"
$LocalFile = $Backgrounds + "\backgroundDefault.jpg"
$DefaultBackground = "C:\Program Files\BG Settings\Wallpaper\backgroundDefault.jpg"

$Robocopy = "C:\Windows\System32\Robocopy.exe"
$BGInfo = "C:\Program Files\BG Settings\BGInfo\BGInfo.exe"
$BMP2JPG = "C:\Program Files\BG Settings\BGInfo\BMP2JPG.exe"

If (!(Test-Path("C:\Program files\BG Settings")))
{
     New-Item -ItemType directory -Path "C:\Program Files\BG Settings"
}
If (!(Test-Path("C:\Program Files\BG Settings\Wallpaper")))
{
     New-Item -ItemType directory -Path "C:\Program Files\BG Settings\Wallpaper"
}
If (!(Test-Path("C:\Program Files\BG Settings\BGInfo")))
{
     New-Item -ItemType directory -Path "C:\Program Files\BG Settings\BGInfo"
}

If (!(Test-Path("$Backgrounds")))
{
  New-Item -ItemType directory -Path "$Backgrounds"
}

&$Robocopy "\\domain.internal\NetLOGON\BG Settings\BGInfo" "C:\Program Files\BG Settings\BGInfo" /MIR /NP
&$Robocopy "\\domain.internal\NetLOGON\BG Settings\Wallpaper" "C:\Program Files\BG Settings\Wallpaper" /MIR /NP
Sleep -Seconds 2

&$BGInfo "C:\Program Files\BG Settings\BGInfo\W7-Default.bgi" /timer:0 /Silent /NOLICPROMPT

Sleep -Seconds 1
&$BMP2JPG "C:\Program Files\BG Settings\Wallpaper\bginfo.bmp" "C:\Program Files\BG Settings\Wallpaper\backgroundDefault.jpg" overwrite
Sleep -Seconds 1
Copy-Item $DefaultBackground -Destination $Backgrounds -Force

Posted

@Boredguy

 

Great script but that wouldn't do exactly what I'm trying to achieve.

 

The scenario is that I want to display the hostname on our interactive whiteboards only - using AirServer to display Ipads and Androids.

The hostname is so teachers can identify which board they should connect to.

However, I do not want the hostname displayed on any other device they log onto.

Posted

Ah the light shineth.

 

Well basically 2 GPO's. 1 for your workstations with your IWB's that calls the script above.

Second GPO is a user policy to set wallpaper that is higher in your list that your other user policies, and all it contains is the wallpaper location..... or even just a single policy that calls BGInfo at user logon for that one station that shows the host name.

  • Thanks 1
Posted
Ah the light shineth.

 

Well basically 2 GPO's. 1 for your workstations with your IWB's that calls the script above.

Second GPO is a user policy to set wallpaper that is higher in your list that your other user policies, and all it contains is the wallpaper location..... or even just a single policy that calls BGInfo at user logon for that one station that shows the host name.

 

 

Makes sense. I'll give it a go.

 

Cheers @Boredguy

Posted (edited)
The scenario is that I want to display the hostname on our interactive whiteboards only - using AirServer to display Ipads and Androids.

The hostname is so teachers can identify which board they should connect to.

However, I do not want the hostname displayed on any other device they log onto.

 

I think you could use Rainmeter to do this. If you "install" it as portable and set it up to display the host name wherever you want it to (may be difficult if you have loads of different size screens), then copy it to the appropriate clients and set it to start with Windows.

 

Or use @Boredguy 's much less complicated suggestion!

Edited by LeMarchand

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...