Jump to content

nahemoth

Abgemeldet
  • Gesamte Inhalte

    186
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von nahemoth

  1. Hallo, ich würde gerne das aktuelle Expiration Date von verschiedenen Accounts aus der AD holen. Es soll zusätzlich die Möglichkeit bestehen, ein neues Auslaufdatum einzugeben, um einen Account aktivieren zu können. Ich habe bislang folgenden Ansatz verfolgt: Dim Benutzer() as String = {"User1", "User2"} ' Verbindung mit dem DC herstellen. Dim Server As New PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain, "DomainController") ' Ein leeres Benutzerobjekt erstellen. Dim User As New UserPrincipal(Server) For i As Integer = 0 To Benutzer.Length - 1 ' Suchkriterien zusammenstellen. User.SamAccountName = Benutzer(i) ' Filterobjekt erstellen, und zuweisen. Dim Filter As New PrincipalSearcher() Filter.QueryFilter = User ' Das Ergebnis in Result speichern. Dim Result As PrincipalSearchResult(Of Principal) = Filter.FindAll() ' In der Variable u sind alle Eigenschaften des Benutzerkontos enthalten. Select Case Benutzer(i) Case "User1" Label17.Text = User.AccountExpirationDate.ToString Case "User2" Label16.Text = User.AccountExpirationDate.ToString End Select Next aber die Felder sind immer leer. Wenn ich in Result Nachschaue, dann gibtr es da ein ... ahm, wie nennt mans ... Untermenü, oder so, System.directoryServices.AccountManagement.UserPrincipal, dort sind alle benötigten Infos drinn, aber wie komm ich da dran? Kann mir hier jemand weiterhelfen? Vielen Dank!
  2. Ja,ich weiss,dass es kein net send mehr gibt, desshalb ja die msg-Zeile ... wie gesagt, wenn ich das Script von meinem Client aus aufrufe, dann bekomme ich auch die Nachricht, wenn es jedoch beim Login des Users, der es im netlogon-Verzeichnis hat aufgerufen wird, dann bekomme ich keine. Das ist das Problem.
  3. Hallo, ich habe ein Script geschrieben, das mir anzeigt, wenn sich eine Benutzer auf einem Rechner anmeldet: Echo "%username% hat sich am %date% um %time% an %computername% von %Clientname% ueber %Logonserver% angemeldet" msg <Benutzer> /server:<host1> %Username% hat sich an %Computername% von %Clientname% ueber %Logonserver% angemeldet net send <host2> %Username% hat sich an %Computername% von %Clientname% ueber %Logonserver% angemeldet Ich bekomme aber an host1(Win7) keine Nachricht, wenn sich nun ein Benutzer anmeldet. Host2(WinXP) bekommt eine Nachricht. Wenn ich das Script auf host1 ausführe, dann bekomme ich eine Nachricht. Kann mir jemand weiterhelfen, was hier falsch läuft? Vielen Dank!
  4. das soll ja das Ziel sein, den Befehl per VB von meinem Client remote auf dem Server auszuführen. edit: nun habe ichj es sowiet, dass er das script remote ausführt: Dim p As New System.Diagnostics.Process p.StartInfo.FileName = "H:\Software\Sysinternales\ps-Tools\PsExec.exe " p.StartInfo.Arguments = "\\SERVER ping caresrv1" MsgBox(p.StartInfo.FileName & p.StartInfo.Arguments) p.StartInfo.RedirectStandardError = True p.StartInfo.RedirectStandardOutput = True p.StartInfo.UseShellExecute = False p.StartInfo.CreateNoWindow = False p.Start() p.WaitForExit() Dim sResult As String = p.StandardError.ReadToEnd & p.StandardOutput.ReadToEnd TextBox1.Text = sResult aber, er gibt mir als ausgabe in der textbox nur also das was PsExec ausgibt. Wenn ich den Befehl in der Konsole aufrufe bekomme ich aber auch den Inhalt des Pings zu sehen, dies hätte ich auch gerne in dem Textfeld. Auch bekomme ich in der Konsole "Exited with error code 0" und aus VB heraus Error Code 1. Hat jemand eine Idee? Danke! edit: laut diesem Artikel handelt es sich ier um einen Fehler bei psexec :(
  5. Alles klar, vielen Dank! jetzt stehe ich nur noch vor dem Problem, wie ich das per WMI auf einer anderen Maschine aufrufen kann: Sub Start_Process(ByVal strComputer As String, ByVal strProcess As String, ByVal UserName As String, ByVal Password As String) Dim processBatch As ManagementClass = New ManagementClass("Win32_Process") Dim inParams As ManagementBaseObject = processBatch.GetMethodParameters("Create") Dim msc As ManagementScope inParams("CurrentDirectory") = Nothing inParams("CommandLine") = strProcess Dim co As ConnectionOptions = New ConnectionOptions() co.Username = "user" co.Password = "password" Try If (strComputer = System.Environment.MachineName) Then msc = New Management.ManagementScope("\\" & strComputer & "\root\cimv2") Else msc = New Management.ManagementScope("\\" & strComputer & "\root\cimv2", co) End If msc.Connect() processBatch.Scope = msc Dim meyhodoptions As InvokeMethodOptions = New InvokeMethodOptions(Nothing, System.TimeSpan.MaxValue) Dim outParamas As ManagementBaseObject = Nothing outParamas = processBatch.InvokeMethod("Create", inParams, Nothing) Catch ex As Exception End Try End Sub genügt es hier als Prozess die sub zu übergeben? Private Sub Login_prüfen() Dim p As New System.Diagnostics.Process p.StartInfo.FileName = "change logon" p.StartInfo.Arguments = "/query" p.StartInfo.RedirectStandardOutput = True p.StartInfo.UseShellExecute = False p.StartInfo.CreateNoWindow = True p.Start() p.WaitForExit() Dim sResult As String = p.StandardOutput.ReadToEnd TextBox1.Text = sResult End Sub
  6. Hallo, ich möchte die Ausgabe von "change logon /query" in eine Variable einlesen, um damit arbeiten zu können. den Aufruf starte ich mittels: Sub Start_Process(ByVal strComputer As String, ByVal strProcess As String, ByVal UserName As String, ByVal Password As String) Dim processBatch As ManagementClass = New ManagementClass("Win32_Process") Dim inParams As ManagementBaseObject = processBatch.GetMethodParameters("Create") Dim msc As ManagementScope inParams("CurrentDirectory") = Nothing inParams("CommandLine") = strProcess Dim co As ConnectionOptions = New ConnectionOptions() co.Username = "user" co.Password = "password" Try If (strComputer = System.Environment.MachineName) Then msc = New Management.ManagementScope("\\" & strComputer & "\root\cimv2") Else msc = New Management.ManagementScope("\\" & strComputer & "\root\cimv2", co) End If msc.Connect() processBatch.Scope = msc Dim meyhodoptions As InvokeMethodOptions = New InvokeMethodOptions(Nothing, System.TimeSpan.MaxValue) Dim outParamas As ManagementBaseObject = Nothing outParamas = processBatch.InvokeMethod("Create", inParams, Nothing) Catch ex As Exception End Try End Sub geht das, da dann das ergebnis des aufrufs abzufangen? Danke!
  7. Alles klar, jetzt funktioniert es :-) Gibts da auch ne Möglichkeit den tsadmin zu einer Konsole hinzuzufügen, wie z.B. SMS? Vielen Dank!
  8. hm ... rsat hab ich garnicht drauf ... ich habe Microsoft Systems Management Server 2003 Administratorkonsole und Windows Server 2003 Service Pack 2 Verwaltungsprogramme drauf in derm fall werd ich das wohl deinstallieren und rsat holen :-)
  9. was Updates angeht ist das Win7 auf dem aktuellen Stand.
  10. Nein, noch ist kein AV installiert, aber gleich, wenn ich dazu komme. das mit dem sauberen Neustart hat nicht funktionier´t, also funktioniert schon, aber die Meldung war die gleiche.
  11. tsadmin wurde auf diesem System bislang noch nicht benutzt. Das System ist, fast, jungfräulich.
  12. Hallo, ich würde gerne tsadmin auf einem Windows 7 System nutzen, aber ich bekomme hier folgende Meldung: Leider habe ich keinen Anhaltspunkt, warum es nicht funktioniert. Hat jemand einen Tipp? Vielen Dank!
  13. ja, auf dem Homelaufwerk gibt es einen Windows-Ordner, in dem Benutzerspeziefische Programmdateien gepackt werden. Den brauch ich.
  14. Ahm, installiert doch keiner Windows nach H, es geht um das HomeLaufwerk des Users, eigentlich gehts darum, wo das Windows-Verzeichnis liegt, das Verwendet wird.
  15. ja, kann man, ich habe es gerade über die beiden variablen HOMEDRIVE und HOMEPATH gelöst, wobei ich hier nicht weiss, ob dies immer korrekt ist. gibt SystemRoot das Windows-Verzeichnis auf H:\ aus?
  16. Hallo, ich weiss nicht, ob ich in diesem Unterforum richtig bin, wenn nicht, bitte einfach verschieben. Ich versuche in VB/VBA den Pfad zum Windows-Verzeichnis auf dem Homelaufwerk auszulesen. Mein Versuch war: Private Function GetWindowsDirectory(ByVal lpBuffer As Text.StringBuilder, _ ByVal uSize As UInteger) As UInteger End Function Public Function GetWindowsDirectory() As String Dim lLen As Integer Dim lBuffer As New Text.StringBuilder(260) lLen = CInt(GetWindowsDirectory(lBuffer, _ CUInt(lBuffer.Capacity))) MsgBox(lBuffer.ToString(0, lLen)) Return lBuffer.ToString(0, lLen) End Function aber GetWindowsDirectory gibt mir immer einen lehren String zurück. Kann mir hier jemand weiterhelfen? Vielen Dank!
  17. Alles klar, das werd ich mal machen :-) Danke!
  18. Hey, klaro ... ich hab mittlerweile weiter recherchiert, aber bin auf noch keinen grünen Zweig gekommen. Also, ich krieg die Stopmeldung: STOP 0x000000ED (0x82B7DA68, 0xC00000006 ...) und oben steht "UNMOUNTABLE VOLUME" In der MS-FAQ steht, dass eventuell falsche Kabel oder so verwendet werden, aber das glaube ich nicht, denn an der Hardware wurde nichts verändert. Was noch komisch ist ... ich habe mal mit Knoppix gebootet und da hängt er die Festplatte nicht ein und meldet "The Volume is marked as used" oder so. Vlt. hilft das ja weiter. Danke!
  19. Hey, danke! das hat schon weiter geholfen :-) "unmountable Bootvolume" ... da ist wohl ne Platte hinüber. Ich glaube nicht, dass was neues installiert wurde, ist der PC einer bekannten, und sie meinte "länger nicht benutzt, auf einmal hats nichtmehr funktioniert" Danke!
  20. Hi, ich bekomme hier beim Booten einen Bluescreen und danach rebootet der PC. Leider kann ich so schnell nicht lesen, was auf dem Bluescreen steht. Dies passiert im abgesicherten Modus und bei LKG genau so. Gibt es da noch ne Möglichkeit was zu machen? Danke!
  21. Hey Damian, hehe, keine Panik, aber es heisst immer recht schnell "Du bist doch Informatiker ... dass muss doch gehen ... " ;) Aber dann geb ich ihr den Tipp, ne neue Cam zu holen. Danke !
  22. Hi, eine Freundin hat eine Sigma Cam1000U und würde die gerne unter Windows 7 betreiben. Ich hab dafür nur Treiber für Windows 2000/XP gefunden. Geht das, dass man diese auch unter Windows 7 verwendet ? Ich hab noch großartig keine Ahnung von Windows 7, desshalb die Frage ... ich finds peinlich, wenn ein Informatiker sowas net hinkriegt und ich möcht net mit runtergelassenen Hosen dastehn ;-) Kann ich die Webcam zum laufen bekommen, oder soll ich ihr zu ner Neuanschaffung raten? Danke !
  23. Hi, ich habe ein Win7Prof 32Bit und er zeigt mir an, dass 4GB verbaut sind, aber nur 3,25 verwendet werden können. Ein 32 Bit Win kann doch theoretisch 4GB adressieren. Was läuft hier falsch ? Thx! edit: ich habe folgendes über das Board gelesen: Also lassen sich unter Win7 32 Bit die vollen 4GB nicht verwenden ? Das "Memory Remapp Feature" der Northbridge ist aktiviert.
  24. Moin Daim, ich dachte Anfangs nicht, dass das nur unter solch großem Aufwand möglich ist. In diesem Fall werde ich wohl die Domäne so belassen, wie sie ist. Einen *triftigen* Grund gibt es nicht. Es wäre rein der "Schönheit" wegen. Ich bedanke mich mal für die Hilfe !
×
×
  • Neu erstellen...