Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Vista Newsgroups > Vista account administration

Vista - Detect Vista in Logon Script

Reply
 
Old 04-04-2007   #1 (permalink)
Dave


 
 

Detect Vista in Logon Script

How can we detect for Windows Vista in our Logon Script? Previously we could
use OSVER.exe or even a 3rd party app OSVER61.exe to detect all versions of
windows through Server 2003. When OSVER is run on Vista it returns nothing,
not even unknown, just nothing. Is there a way to detect if a user is
running Vista or not? Maybe a newer version of OSVER, or another command
that we can run in a batch file? TIA

My System SpecsSystem Spec
Old 04-04-2007   #2 (permalink)
JerryM \(ID\)


 
 

Re: Detect Vista in Logon Script

Just like before, Control panel -System

"Dave" <Dave@discussions.microsoft.com> wrote in message
newsAC8245A-41B5-460E-8C1E-7AD8B9DA043D@microsoft.com...
> How can we detect for Windows Vista in our Logon Script? Previously we
> could
> use OSVER.exe or even a 3rd party app OSVER61.exe to detect all versions
> of
> windows through Server 2003. When OSVER is run on Vista it returns
> nothing,
> not even unknown, just nothing. Is there a way to detect if a user is
> running Vista or not? Maybe a newer version of OSVER, or another command
> that we can run in a batch file? TIA


My System SpecsSystem Spec
Old 04-05-2007   #3 (permalink)


 
 

Re: Detect Vista in Logon Script


"Dave" <Dave@discussions.microsoft.com> wrote in message
newsAC8245A-41B5-460E-8C1E-7AD8B9DA043D@microsoft.com...
> How can we detect for Windows Vista in our Logon Script? Previously we
> could
> use OSVER.exe or even a 3rd party app OSVER61.exe to detect all versions
> of
> windows through Server 2003. When OSVER is run on Vista it returns
> nothing,
> not even unknown, just nothing. Is there a way to detect if a user is
> running Vista or not? Maybe a newer version of OSVER, or another command
> that we can run in a batch file? TIA


When I was writing my logon scripts, I checked for environment variables.
Ex - if %os%==Windows_NT then do winxp stuff (as we have no nt4 or even 2k
pro machines on the network, this worked properly)

For Vista, I noticed that the %os% variable is the same, so I had to check
something else, but I needed to do this before my xp check, so now I do
something like this...

if "%allusersprofile%"=="C:\ProgramData" goto WinVista
if %os%==Windows_NT goto WinXP
::
::if it gets here, assume 9x base
::
exit
::
:Winvista
@Echo Windows Vista Operating System Detected
goto fin
::
:winxp
@Echo Windows XP Operating System Detected
::
:fin

This is an example of a script I use daily, and I've not yet had a problem
with it detecting the wrong OS.

Hope this helps.

D


My System SpecsSystem Spec
Old 04-05-2007   #4 (permalink)
Dave


 
 

Re: Detect Vista in Logon Script

D,

Thank you, that's EXACTLY what I was looking for.

-Dave

"D" wrote:

>
> "Dave" <Dave@discussions.microsoft.com> wrote in message
> newsAC8245A-41B5-460E-8C1E-7AD8B9DA043D@microsoft.com...
> > How can we detect for Windows Vista in our Logon Script? Previously we
> > could
> > use OSVER.exe or even a 3rd party app OSVER61.exe to detect all versions
> > of
> > windows through Server 2003. When OSVER is run on Vista it returns
> > nothing,
> > not even unknown, just nothing. Is there a way to detect if a user is
> > running Vista or not? Maybe a newer version of OSVER, or another command
> > that we can run in a batch file? TIA

>
> When I was writing my logon scripts, I checked for environment variables.
> Ex - if %os%==Windows_NT then do winxp stuff (as we have no nt4 or even 2k
> pro machines on the network, this worked properly)
>
> For Vista, I noticed that the %os% variable is the same, so I had to check
> something else, but I needed to do this before my xp check, so now I do
> something like this...
>
> if "%allusersprofile%"=="C:\ProgramData" goto WinVista
> if %os%==Windows_NT goto WinXP
> ::
> ::if it gets here, assume 9x base
> ::
> exit
> ::
> :Winvista
> @Echo Windows Vista Operating System Detected
> goto fin
> ::
> :winxp
> @Echo Windows XP Operating System Detected
> ::
> :fin
>
> This is an example of a script I use daily, and I've not yet had a problem
> with it detecting the wrong OS.
>
> Hope this helps.
>
> D
>
>
>

My System SpecsSystem Spec
Old 04-05-2007   #5 (permalink)


 
 

Re: Detect Vista in Logon Script


"Dave" <Dave@discussions.microsoft.com> wrote in message
news:325968FA-2FA5-4115-9E84-35D21E54B2DD@microsoft.com...
> D,
>
> Thank you, that's EXACTLY what I was looking for.
>
> -Dave
>
> "D" wrote:
>
>>
>> "Dave" <Dave@discussions.microsoft.com> wrote in message
>> newsAC8245A-41B5-460E-8C1E-7AD8B9DA043D@microsoft.com...
>> > How can we detect for Windows Vista in our Logon Script? Previously we
>> > could
>> > use OSVER.exe or even a 3rd party app OSVER61.exe to detect all
>> > versions
>> > of
>> > windows through Server 2003. When OSVER is run on Vista it returns
>> > nothing,
>> > not even unknown, just nothing. Is there a way to detect if a user is
>> > running Vista or not? Maybe a newer version of OSVER, or another
>> > command
>> > that we can run in a batch file? TIA

>>
>> When I was writing my logon scripts, I checked for environment variables.
>> Ex - if %os%==Windows_NT then do winxp stuff (as we have no nt4 or even
>> 2k
>> pro machines on the network, this worked properly)
>>
>> For Vista, I noticed that the %os% variable is the same, so I had to
>> check
>> something else, but I needed to do this before my xp check, so now I do
>> something like this...
>>
>> if "%allusersprofile%"=="C:\ProgramData" goto WinVista
>> if %os%==Windows_NT goto WinXP
>> ::
>> ::if it gets here, assume 9x base
>> ::
>> exit
>> ::
>> :Winvista
>> @Echo Windows Vista Operating System Detected
>> goto fin
>> ::
>> :winxp
>> @Echo Windows XP Operating System Detected
>> ::
>> :fin
>>
>> This is an example of a script I use daily, and I've not yet had a
>> problem
>> with it detecting the wrong OS.
>>
>> Hope this helps.
>>
>> D
>>
>>
>>


Dave,

Glad to help out.

Doug


My System SpecsSystem Spec
Old 04-05-2007   #6 (permalink)
Dave


 
 

Re: Detect Vista in Logon Script

Thanks Youyang, I'll keep this one in mind also.

We might be pushing our luck here, but does anyone have an idea on how to
determine the "flavor" of Windows Vista? We probably don't want to run the
same commands for our users who have Vista Home vs. Business/Ultimate.

-Dave

"youyang" wrote:

> Hi, here is the code I used in my batch File:
>
> ECHO *Detecting Windows Version...
>
> VER | findstr /i "5.1.2600" > nul
> IF %ERRORLEVEL% EQU 0 GOTO XP
>
>
> VER | findstr /i "5.2.3790" > nul
> IF %ERRORLEVEL% EQU 0 GOTO 2003
>
> VER | findstr /i "6.0.6000" > nul
> IF %ERRORLEVEL% EQU 0 GOTO VISTARTM
>
> :XP
> ECHO *Windows XP
> REM TODO
> GOTO EOF
>
> :2003
> ECHO *Windows Server 2003
> REM TODO
> GOTO EOF
>
> :VISTARTM
> ECHO *Windows Vista RTM
>
>
> --
> Thanks
> æ*‘
> 大家有时间å¬ä¸€ä¸‹ã€Šé›ªèŠ±ã€‹
> "Dave" <Dave@discussions.microsoft.com> wrote in message
> newsAC8245A-41B5-460E-8C1E-7AD8B9DA043D@microsoft.com...
> > How can we detect for Windows Vista in our Logon Script? Previously we
> > could
> > use OSVER.exe or even a 3rd party app OSVER61.exe to detect all versions
> > of
> > windows through Server 2003. When OSVER is run on Vista it returns
> > nothing,
> > not even unknown, just nothing. Is there a way to detect if a user is
> > running Vista or not? Maybe a newer version of OSVER, or another command
> > that we can run in a batch file? TIA

>
>

My System SpecsSystem Spec
Old 04-05-2007   #7 (permalink)


 
 

Re: Detect Vista in Logon Script

I don't have Vista home on a machine nearby, but on Vista Business (and
probably Ultimate and Enterprise), there are 2 variables - USERDOMAIN and
USERDNSDOMAIN. So, using the info I orginally posted, and assuming you were
on a domain, you could do something like...

if %userdomain%==mydomain goto vistabiz

or even...

if "%userdomain%"=="" goto nodomain
::do vista business stuff here...
::
goto fin
:nodomain
::system not on domain, so assume vista home
::
:fin

One thing you can do to see what environment variables to use would be to
open a command prompt and type in SET and hit enter. If you have a Vista
Home machine near you, compare the variables to see what is on the Vista
Home machine that might not be on the Business machine, or vice versa, and
then use that variable in your script.

Also, you could talk to whomever is resonsible for imaging and deploying
machines in your location and ask them to set the machines up with a global
environment variable via the default user registry, but I think you'd be
better off looking at the existing environment variables.

Again, hope this helps.

Doug

"Dave" <Dave@discussions.microsoft.com> wrote in message
news4B7C136-F21F-40E6-A9C0-4E2BE79BF1B6@microsoft.com...
> Thanks Youyang, I'll keep this one in mind also.
>
> We might be pushing our luck here, but does anyone have an idea on how to
> determine the "flavor" of Windows Vista? We probably don't want to run
> the
> same commands for our users who have Vista Home vs. Business/Ultimate.
>
> -Dave
>
> "youyang" wrote:
>
>> Hi, here is the code I used in my batch File:
>>
>> ECHO *Detecting Windows Version...
>>
>> VER | findstr /i "5.1.2600" > nul
>> IF %ERRORLEVEL% EQU 0 GOTO XP
>>
>>
>> VER | findstr /i "5.2.3790" > nul
>> IF %ERRORLEVEL% EQU 0 GOTO 2003
>>
>> VER | findstr /i "6.0.6000" > nul
>> IF %ERRORLEVEL% EQU 0 GOTO VISTARTM
>>
>> :XP
>> ECHO *Windows XP
>> REM TODO
>> GOTO EOF
>>
>> :2003
>> ECHO *Windows Server 2003
>> REM TODO
>> GOTO EOF
>>
>> :VISTARTM
>> ECHO *Windows Vista RTM
>>
>>
>> --
>> Thanks
>> ?
>> ????????????
>> "Dave" <Dave@discussions.microsoft.com> wrote in message
>> newsAC8245A-41B5-460E-8C1E-7AD8B9DA043D@microsoft.com...
>> > How can we detect for Windows Vista in our Logon Script? Previously we
>> > could
>> > use OSVER.exe or even a 3rd party app OSVER61.exe to detect all
>> > versions
>> > of
>> > windows through Server 2003. When OSVER is run on Vista it returns
>> > nothing,
>> > not even unknown, just nothing. Is there a way to detect if a user is
>> > running Vista or not? Maybe a newer version of OSVER, or another
>> > command
>> > that we can run in a batch file? TIA

>>
>>



My System SpecsSystem Spec
Old 04-05-2007   #8 (permalink)
GTS


 
 

Re: Detect Vista in Logon Script

D
One minor suggestion. Rather than hard coding the drive letter (which
fails on my dual boot xp/vista machine with Vista on D I would do it this
way.

if "%allusersprofile%"=="%HOMEDRIVE%\ProgramData" goto WinVista


> When I was writing my logon scripts, I checked for environment variables.
> Ex - if %os%==Windows_NT then do winxp stuff (as we have no nt4 or even 2k
> pro machines on the network, this worked properly)
>
> For Vista, I noticed that the %os% variable is the same, so I had to check
> something else, but I needed to do this before my xp check, so now I do
> something like this...
>
> if "%allusersprofile%"=="C:\ProgramData" goto WinVista
> if %os%==Windows_NT goto WinXP
> ::
> ::if it gets here, assume 9x base
> ::
> exit
> ::
> :Winvista
> @Echo Windows Vista Operating System Detected
> goto fin
> ::
> :winxp
> @Echo Windows XP Operating System Detected
> ::
> :fin
>
> This is an example of a script I use daily, and I've not yet had a problem
> with it detecting the wrong OS.
>
> Hope this helps.
>
> D
>


My System SpecsSystem Spec
Old 04-09-2007   #9 (permalink)


 
 

Re: Detect Vista in Logon Script

That's a good idea, but in an AD domain based environment, that might not
work as many admins populate the map home drive (letter) to (path) which
then sets the %homedrive% variable. But, like I said it's a good idea to
not code the drive letter. Instead, and I believe this is what you had
meant to say, was to use %systemdrive%

Thanks for the tip though

Doug
"GTS" <x@y.net> wrote in message
news:ukSD3o$dHHA.4688@TK2MSFTNGP04.phx.gbl...
> D
> One minor suggestion. Rather than hard coding the drive letter (which
> fails on my dual boot xp/vista machine with Vista on D I would do it
> this way.
>
> if "%allusersprofile%"=="%HOMEDRIVE%\ProgramData" goto WinVista
>
>
>> When I was writing my logon scripts, I checked for environment variables.
>> Ex - if %os%==Windows_NT then do winxp stuff (as we have no nt4 or even
>> 2k pro machines on the network, this worked properly)
>>
>> For Vista, I noticed that the %os% variable is the same, so I had to
>> check something else, but I needed to do this before my xp check, so now
>> I do something like this...
>>
>> if "%allusersprofile%"=="C:\ProgramData" goto WinVista
>> if %os%==Windows_NT goto WinXP
>> ::
>> ::if it gets here, assume 9x base
>> ::
>> exit
>> ::
>> :Winvista
>> @Echo Windows Vista Operating System Detected
>> goto fin
>> ::
>> :winxp
>> @Echo Windows XP Operating System Detected
>> ::
>> :fin
>>
>> This is an example of a script I use daily, and I've not yet had a
>> problem with it detecting the wrong OS.
>>
>> Hope this helps.
>>
>> D
>>

>



My System SpecsSystem Spec
Old 04-09-2007   #10 (permalink)
GTS


 
 

Re: Detect Vista in Logon Script

Good clarification. Thanks.

<D> wrote in message news:uaob$TqeHHA.4916@TK2MSFTNGP06.phx.gbl...
> That's a good idea, but in an AD domain based environment, that might not
> work as many admins populate the map home drive (letter) to (path) which
> then sets the %homedrive% variable. But, like I said it's a good idea to
> not code the drive letter. Instead, and I believe this is what you had
> meant to say, was to use %systemdrive%
>
> Thanks for the tip though
>
> Doug
> "GTS" <x@y.net> wrote in message
> news:ukSD3o$dHHA.4688@TK2MSFTNGP04.phx.gbl...
>> D
>> One minor suggestion. Rather than hard coding the drive letter (which
>> fails on my dual boot xp/vista machine with Vista on D I would do it
>> this way.
>>
>> if "%allusersprofile%"=="%HOMEDRIVE%\ProgramData" goto WinVista
>>
>>
>>> When I was writing my logon scripts, I checked for environment
>>> variables. Ex - if %os%==Windows_NT then do winxp stuff (as we have no
>>> nt4 or even 2k pro machines on the network, this worked properly)
>>>
>>> For Vista, I noticed that the %os% variable is the same, so I had to
>>> check something else, but I needed to do this before my xp check, so now
>>> I do something like this...
>>>
>>> if "%allusersprofile%"=="C:\ProgramData" goto WinVista
>>> if %os%==Windows_NT goto WinXP
>>> ::
>>> ::if it gets here, assume 9x base
>>> ::
>>> exit
>>> ::
>>> :Winvista
>>> @Echo Windows Vista Operating System Detected
>>> goto fin
>>> ::
>>> :winxp
>>> @Echo Windows XP Operating System Detected
>>> ::
>>> :fin
>>>
>>> This is an example of a script I use daily, and I've not yet had a
>>> problem with it detecting the wrong OS.
>>>
>>> Hope this helps.
>>>
>>> D
>>>

>>

>
>


My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
Vista Logon Script Replacement VB Script
Logon Script Causing Laptops To Hang - Problems in script? VB Script
Printer logon script doesn't work with Vista Vista networking & sharing
RE: Printer logon script doesn't work with Vista VB Script
IE7 detect protected mode in script Vista security


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46