justdoc
Goto Top

Scipt zum Auslesen der SID via PSgetSID oder GetSID

Vor einer Migration sollen alle Clients in einem Netzwerk (W2K und XP) von zentraler
Stelle aus überprüft werden, u.a. auch auf doppelte SIDs (Rechner wurden meistens geklont)

Folgende Parameter:
- Hierzu stehen uns die Tools GetSID und PSgetSID zur verfügung.
- Wir haben die Möglichkeit und mit Admin-Rechten auf die Clients zu verbinden.
- Die benötigten Tools GetSID und PSgetSID stehen im Verzeichnis "c:\sid-tool" bereit.
- Alle Computernamen sind uns bekannt und stehen in der Datei "c:\sid-tool\pc.txt" zur Verfüfung.
- Alle SIDs sollen in die Datei "c:\sid-tool\sid.txt" ausgegeben werden.
- Auf dem zur Durchführung bereitstehenden Rechner verfügen wir über Admin Rechte.


Hat jemand eine Idee / einen Ansatz für mich?


gruß
just doc

Content-Key: 65649

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

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

Member: Biber
Biber Aug 07, 2007 at 19:16:16 (UTC)
Goto Top
Moin justdoc,

willkommen im Forum.


Vom CMD-Prompt als Oneliner:
for /f %i in ('type "c:\sid-tool\pc.txt") do @For /f %a in ('c:\Sid-tool\psgetsid %i ^2^>nul^|find "S-"') do @echo %i %a>>c:\Sid-tool\sid.txt  

Als Batch:
::----snipp GetAllSids.bat
@echo off & PushD "c:\sid-tool"  
for /f %%i in ('type pc.txt) do (  
       For /f %%a in ('psgetsid %%i ^2^>nul^|find "S-"') do (  
              echo %%i %%a>>sid.txt
))
PopD
::----snapp GetAllSids.bat
[Ungetestete Skizzen]
Bei dem GetAllSids.bat würde ich auch die eingebaute Umleitung ">>sid.txt" weglassen und eher den Batch selbst mit "GetAllSids >meinlog.txt" aufrufen.

Gruß
Biber
Member: Dani
Dani Aug 07, 2007 at 19:22:52 (UTC)
Goto Top
Guten Abend,
Das Tool GetSID kannst du vergessen. Einfach nur Schrott...und nur für Benutzerkonten gedacht!

Wenn ich dich richtig verstehe, sind im Moment alle Clients noch in der Domäne. Somit würde ich eine Batch als Computerskript für alle Rechner hinterlegen. Somit würde ich einfach folden Code in diese Batch werfen:
@echo off

if not exist "C:\getsid.txt" goto FINDSID  
goto END

for /f "skip=1" %%a in ('"\\server\netlogon\psgetsid.exe"') do echo %computername% - %%a >> "\\server\einefreigabe$\sids.log"  
echo OK >> "C:\getsid.txt"  

:END
Am Besten du erstellst einen neuen Ordner und gibst dem Benutzer "Jeder" Vollzugrifft. Die Freigabe machst du am Besten versteckt. Somit kommt keiner auf blöden Ideen. Den Freigabenamen oben noch anpassen.
Somit wird jede SID jedes Clients beim nächsten Hochfahren eingetragen.


Grüße
Dani

Edit: Der liebe Biber war dieses mal schneller!!
Member: justdoc
justdoc Aug 13, 2007 at 07:32:01 (UTC)
Goto Top
besten dank - die mischung machts!
es funktioniert!