Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst SID (akt. User) Visual Basic 2005 import von Datei?

Mitglied: Przigoda

Przigoda (Level 1) - Jetzt verbinden

13.08.2008, aktualisiert 14.08.2008, 6224 Aufrufe, 4 Kommentare

Hallo allezusammen,

ich habe folgenedes Problem: Ich hatte bereits mit eurer Hilfe eine Batch-Datei erstellt welche die SID auslesen kann und dann entsprechende Registry einträge erstellt. Jetzt möchte ich allerdings die .bat Datei innerhalb einer Visual Basic 2005 Anwendung aufrufen. Ich muss dabei beachten, dass der ausführende Benutzer ggf. keine Admin-Rechte hat. Gibt hier jetzt eine schöne Möglichkeit die SID zum aktuellen User zu ermitteln:

01.
@%~d0% 
02.
@cd tools 
03.
@user2sid.exe %username% > %temp%\sid.txt REM von euch empfohlenes tool 
04.
@FOR /f "delims=: tokens=1,*" %%i in ('findstr /n $ %temp%\sid.txt') DO @If %%i EQU 2 @Set SID=%%j 
05.
@echo %SID% > %temp%\sid.txt 
06.
 
07.
@FOR /f "tokens=5 delims=\" %%i in ('REG QUERY "HKEY_CURRENT_USER\Software\Adobe\Adobe Acrobat" /s^|findstr /c:"Acrobat\\"') DO set "AcrobatVersion=%%i"  
08.
@reg add "HKEY_USERS\%SID%\Software\Adobe\Adobe Acrobat\%AcrobatVersion%\Security....." /v t0 /f /d "%Temp%\*.dll"
ist der Code der Batch-Datei. Ich bin mit der installierten VB version nun leider nicht in der Lage die SID aus der Datei sid.txt auslesen und als Variable in VB zu speichern. Ist das überhaupt notwendig, dass ich es mir so kompliziert mache oder geht es möglichweise auch einfacher, direkt per VB (nur ohne Admin-Rechte)?

und kann ich die Registry-Einträge nicht auch direkt aus VB aufrufen? wenn ja wie..

PS: Ich habe die letzten 2 stunden überall gesucht und konnte mit keinem der Tipps so richtig was anfangen.
PPS: Ich hoffe der Beitrag ist richtig eingeordnet, wegen VB/Batch

mfg Przigoda
Mitglied: bastla
13.08.2008 um 17:38 Uhr
Hallo Pzigoda!

Zum Auslesen der SID: Das hier bei www.visualbasicscript.com gefundene VBScript (hatte ich in ähnlicher Form selbst schon in Deinem vorigen Beitrag - allerdings in einen Batch integriert, daher etwas schwerer zu finden )
01.
Dim objNetwork : Set objNetwork = CreateObject("WScript.Network") 
02.
Dim wmiQuery : wmiQuery = "Select * From Win32_UserAccount Where Domain='" & objNetwork.UserDomain & _ 
03.
    "' And Name='" & objNetwork.UserName & "'" 
04.
Dim objWMIService : Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") 
05.
Dim colItems : Set colItems = objWMIService.ExecQuery(wmiQuery) 
06.
Dim objItem 
07.
For Each objItem in colItems 
08.
   WScript.Echo "Your SID is : " & objItem.SID 
09.
Next
kann (bis auf das "WScript.Echo", aber die SID soll ja ohnehin in eine Variable) praktisch unverändert in VB2005 eingesetzt werden.

[Edit] Allerdings frage ich mich (bzw Dich ) weiterhin, wozu Du die SID benötigst - anstelle eines Eintrages unter HKU\SID sollte doch auch ein Eintrag gleich in HKCU funktionieren? [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Przigoda
13.08.2008 um 22:29 Uhr
bis auf das WScript.Echo geht das soweit, dass muss ich dann noch irgendwie in vb einbauen...

wie kann ich denn direkt auf den Ordner in der Registry zugreifen? Sodass er gleich in den oben angegeben Ordner

HKEY_USERS\%SID%\Software\Adobe\Adobe Acrobat\%AcrobatVersion%\Security...

guck ob dort ein Schlüssel t0 (-tN) existiert und dann entsprechend die nächste Nummer erstellt:
tN+1 mit entsprechendem Eintrag ? direkt wäre mir natürlich auch lieber und ist ja auch einfacher...
Bitte warten ..
Mitglied: bastla
14.08.2008 um 00:01 Uhr
Hallo Przigoda!

Aufgrund des oben dargestellten Batches wäre "t0" ein Wert, kein Schlüssel - so ist das auch im folgenden Script umgesetzt:
01.
Dim Adobe As String = "Software\Adobe\Adobe Acrobat" 
02.
Dim aKeys = My.Computer.Registry.CurrentUser.OpenSubKey(Adobe).GetSubKeyNames 
03.
Dim Version = aKeys(UBound(aKeys)) 
04.
 
05.
Dim AdobeSec As String = Adobe & "\" & Version & "\Security" 
06.
Dim aVals = My.Computer.Registry.CurrentUser.OpenSubKey(AdobeSec).GetValueNames 
07.
Dim Latest As Integer = -1, SubKey As String 
08.
For Each SubKey In aVals 
09.
    If LCase(Mid(SubKey, 1, 1)) = "t" Then 
10.
        If Val(Mid(SubKey, 2)) > Latest Then Latest = Val(Mid(SubKey, 2)) 
11.
    End If 
12.
Next 
13.
 
14.
Dim NewValue As String = "t" & CStr(Latest + 1) 
15.
Dim NewData As String = Environment.ExpandEnvironmentVariables("%temp%") & "\*.dll" 
16.
My.Computer.Registry.SetValue("HKEY_CURRENT_USER\" & AdobeSec, NewValue, NewData)
Erfasst werden alle mit "t" (oder "T") beginnenden Werte im "Security"-Schlüssel.

Mit diesem Script hast Du ein Grundgerüst - zu ergänzen wären zB noch Checks, ob es überhaupt einen "Adobe Acrobat"-Eintrag gibt, etc.
VB2005 hat übrigens eine Onlinehilfe, in welcher mit dem Suchbegriff "Registry" durchaus brauchbare Informationen zu finden sind ...

Grüße
bastla

[Edit] Auflösung von %temp% hinzugefügt [/Edit]
Bitte warten ..
Mitglied: Przigoda
14.08.2008 um 01:44 Uhr
Besten Dank für deine schnelle Hilfe Bastla, deine Antworten haben mir sehr geholfen. Ich glaube die Anpassung an meine Bedürfnisse etc sollte ich jetzt auch hinkriegen!

Mein Problem bei der Online Hilfe zur Registry war nur, dass ich den Teil unterwegs nachm ersten Post im Zug gemacht habe und nur die Offline-Hilfe hatte und mir der kam ich leider nicht klar, mag auch an meinen mangelden Kenntnissen liegen.

[edit]
nochmal besten dank mit den My.Computer.Registry.CurrentUser... kriege ich jetzt auch scheinbar alles so hin wie ich es haben will!
[/edit]
Bitte warten ..
Ähnliche Inhalte
Basic
Mit Visual Basic Batch Datei öffnen
gelöst Frage von FlodscheBasic26 Kommentare

Hi, ich habe ein kleines Problem. Ich habe mir eine Batch datei geschrieben die ich gern mit einer VB ...

Visual Studio
Visual Basic für anfänger
gelöst Frage von Daoudi1973Visual Studio12 Kommentare

ich möchte Visual Basic lernen, kann jemand mir Tipps geben. PS: ich habe nur im 1999 mit Fortran 90 ...

VB for Applications
Visual Basic Checkbox drucken?
gelöst Frage von GERz0cKErZVB for Applications10 Kommentare

Hallo, ich habe ein Programm wo man mehrere checkboxen anklicken kann. Der Text der checkboxen soll am Ende gedruckt ...

Visual Studio
Bitcoin-Miner mit Visual Basic ?
Frage von Aicher1998Visual Studio2 Kommentare

Hallo, kennt jemand einen Ansatz, wie ich mit Visual Basic Bitcoins mine? Ich würde auch auf eine Python-DLL zurückgreifen ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 5 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 10 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server23 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser15 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...