Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1092
  • Last Modified:

How to Check if a Hostname exist BGINFO batch file

i would like to check Hostnames before i depoly  BGINFO to my network. if exist  exit the script. the reason behind this is  i want to exclude some computers running BGinfo.  i  don't want to create  new OU AD to apply GPO.
i need a batch file to do that job. please help
   batch file it would look like
          If hostname = "hostA" :exit
           
         else
              excute the BGINFO
     
0
geedi4
Asked:
geedi4
  • 4
  • 3
  • 2
3 Solutions
 
Ryan WeaverInfrastructure ManagerCommented:
The environment will give you %COMPUTERNAME% and %USERDNSNAME%, so you could:

if /i %COMPUTERNAME$ == "HostA" exit (or use a goto label if more needs to be done in the batch).

The /i would mean ignore case.
0
 
PakaCommented:
Copy to checkbginfo.bat
-------------
echo off
for /f "tokens=*" %%G in (testcomps.txt) do if %%G == %computername% (call CALLBGINFO.BAT)
-------------

Where testcomps.txt contains a list of computers you want to run BGINFO on.  Make sure you use UPPERCASE characters to define these.

And CALLBGINFO.BAT is another batch file to call BGINFO with the command line parameters - you probably want to display BGInfo immediately instead of waiting for the timeout.
0
 
geedi4Author Commented:
thanks for quick reply

we have 100 computers how can i call and check txt file all the computers name in it.

or this script will do the job of 100 computers  /i %COMPUTERNAME$ == "HostA" exit

thanks
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
geedi4Author Commented:
paka thanks mate

echo off
for /f "tokens=*" %%G in (testcomps.txt) do if %%G == %computername%
(call CALLBGINFO.BAT) do have to use the brackets

testcomps.txt  you mean all the computernames should be uppercase in txt file

my bginfo look like this do i have to change anything

@echo on


del "C:\Documents and Settings\guled\Local Settings\Temp\BGinfo.bmp" /F /Q
echo deleted image
pause
goto Bginfoexe

:bgcreate
echo create directory
pause
mkdir C:\WINDOWS\Temp
cacls C:\WINDOWS\Temp /E /G  "Authenticated Users":F
goto Bginfoexe

:Bginfoexe
if NOT exist C:\WINDOWS\Temp goto bgcreate
echo bg create
pause
start C:\bginfo\bgibmp\bginfo.exe C:\bginfo\bgibmp\bginfo.bgi /silent /nolicprompt /timer:0
echo done
pause
EXIT

0
 
PakaCommented:
Add all 100 computernames to the testcomps.txt file (make sure they are in capital letters) and the batch will read though the file and run BGInfo for those that are in the file.  Obviously, there will be a performance penalty if the the list gets too big, but for 100-200 the hit shouldn't be noticeable.

The for /f statement will take care of loading the names, the if %%G will check the names...
0
 
Ryan WeaverInfrastructure ManagerCommented:
You could have a names.txt of to be excluded then you could do something like:

find %COMPUTERNAME% c:\file.txt > NULL
if ERRORLEVEL 1 exit

I believe this will work, but should definitely tested.
0
 
Ryan WeaverInfrastructure ManagerCommented:
Might need quotes around the variable.

find "%COMPUTERNAME%" c:\file.txt > NULL

0
 
geedi4Author Commented:
thanks fryguy nad paka.

i'm going to tested i will let you guys know.
0
 
geedi4Author Commented:
i have tested  and it worked thanks everybody
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now