speedy-admyn
Goto Top

Script um festzustellen ob bei Anmeldung mit Windows-Domäne verbunden

Hallo,

wie kann ich per Script feststellen, ob bei der Anmeldung der User mit der Domän verbunden ist oder sich der Rechner nicht im Firemennetzwerk befindet? (Win7 prof/Win XP prof)


Danke!

speedy-admyn

Content-Key: 204132

Url: https://administrator.de/contentid/204132

Printed on: April 23, 2024 at 14:04 o'clock

Member: bastla
bastla Mar 29, 2013 at 09:37:17 (UTC)
Goto Top
Hallo speedy-admyn und willkommen im Forum!

Vermutlich hat diese Überprüfung ja einen bestimmten Zweck - den könntest Du noch beschreiben ...

... und außerdem: Was meinst Du genau mit
ob bei der Anmeldung der User mit der Domän verbunden ist

Grüße
bastla
Member: colinardo
colinardo Mar 29, 2013 updated at 09:51:23 (UTC)
Goto Top
Hi,
Eine Möglichkeit wäre:
Du könntest via ping überprüfen ob der(die) Domain-Controller antwortet(en).
ping DOMAINCONROLLERIP >nul
if %ERRORLEVEL% == 0 (goto SUCCESS) else (goto FAIL)
:SUCCESS
...
..
:FAIL
...
..
Grüße Uwe
Member: speedy-admyn
speedy-admyn Mar 29, 2013 at 11:42:05 (UTC)
Goto Top
Hallo!

(Danke erstmal)

Der Domänuser kann sich am Rechner (Notebook) auch anmelden, wenn er nicht im Firmennetzwerk ist. (z.B.: auf Dienstreise). Je nachdem, ob er im Firmennetzwerk ist oder nicht sollen z.B.: unterschiedliche Einstellungen für den Bildschirmschoner gelten.
Member: speedy-admyn
speedy-admyn Mar 29, 2013 at 11:43:26 (UTC)
Goto Top
Hallo,

@colinardo: geht dass auch mit VBScript?

speedy-admyn
Member: colinardo
colinardo Mar 29, 2013 updated at 12:06:49 (UTC)
Goto Top
Auf die schnelle fällt mir das hier ein:
'Create command line to ping and save results to a temp file  
sCommand = "cmd /c ping.exe -n 3 -w 1000 " & strName & " > C:\temp.txt"  

'Execute the command  
objShell.run sCommand, 0, true

'Get the temp file  
set objTempFile = objFSO.GetFile("C:\temp.txt")  
set objTS = objTempFile.OpenAsTextStream(1)

'Loop through the temp file to see if "reply from" is found,  
'if it is then the ping was successful  

do while objTs.AtEndOfStream <> true
  sReadLine = objTs.ReadLine
  if instr(lcase(sReadLine), "Antwort von") > 0 then  
   bReturn = true
   exit do
  end if
loop

objTS.close
objTempFile.delete

if bReturn = True then
  'Verbunden  
else
  'Nicht verbunden  
end if


Frohe Ostern Uwe
            $$$$$$
           $$   $$$$$$
          $$  $$     $
         $   $$      $$
        $  $$       $$ $$$$$$
       $$ $$       $$$       $$
     $$$   $      $$            $$
   $$           $               $$
  $            $$                $$
 $$            $$                 $$
 $     $      $$$                  $
 $   $$$$     $$       $$$$$$      $
 $    $     $$$      $$            $$
 $$       $$$$       $             $$
  $$$$$$$$$$$        $             $$
      $$  $$        $$             $$
      $$ $$$$      $$ $           $ $$
           $     $$$$ $         $$  $$
           $$$$$$$             $$$$$
                 $$$$$$$$$$$$$$$$$$$$$$$$$
Mitglied: 76109
76109 Mar 29, 2013 updated at 14:02:16 (UTC)
Goto Top
Hallo Uwe!

Ein schöner Haseface-smile

Lässt sich (auf die schnelle) etwas abkürzen:
 sCommand = "cmd /c ping.exe -n 3 -w 1000 " & "Name"  

If CreateObject("WScript.Shell").Run(sCommand, 0, True) = 0 Then  
    MsgBox "Verbunden!"  
Else
    MsgBox "Nicht verbunden!"  
End If

Wünsche auch schöne Ostern!

Gruß Dieter
Member: ThePinky777
ThePinky777 Mar 29, 2013 updated at 15:57:19 (UTC)
Goto Top
eventuell auch die Systemvariable checken :
LOGONSERVER

und dann nach dem motto If Logonserver = Liste von Logonserver, dann Domänen verbunden, else nein face-smile