none
Server remote über powershell(v2) abfragen RRS feed

  • Frage

  • Hallo ich möchte server remote über powershell abfragen

    mein system ist xp sp2 normaler user account (psv2)

    die remote server sind 2003ee
    es existiert ein admin account

    zum doing :

    ich möchte lokal von meiner xp kiste die server remote per powershell abfragen

    ich möchte das ereignissanzeige abfragen

    lokale abfrage

    klappt ja auch

    1. Variablen setzen
    $serverliste = get-content "server.txt" <- beinhaltet die reomte Server
    $remoteuser = get-credential
    $user = $env:Username

    Get-EventLog -logname system | Where-Object {$_.EventID -eq 6005}
    leider ist der get befehl NUR lokal und nicht remote!!

    remote abfrage

    dann bräuchte ich den ??
    get-wmiobject -class Win32_NTLogEvent -computername EGEER01AS233.edom.ad.corp| Where-Object {$_.EventID -eq 6005}

    brauche ich dann auch $remoteuser = get-credential ??
    ich habe zwar wmi credential auf dem remote server doch leider klapp es nicht!

    kann mir bitte jemand weiterhelfen

    und kann ich bei dem wmi befehl auch eine server.txt einbauen, wenn ja wie?

    danke
    Montag, 7. Dezember 2009 19:35

Antworten

  • Hi Phobos,

    besorge Dir in jedem Fall ein PowerShell Buch, mit dem Du Dir die Grundlagen erarbeitest. Wir können hier im Forum nicht alle Deine Fragen abarbeiten. Danach könnten wir dann nämlich auch ein Buch draus machen. ;-)

    Also: Wenn Du die Abfrage lokal absetzen möchtest und WinRM nicht auf den Zielsystemen installieren möchtest, dann lassen wir WinRM ab jetzt weg.

    Zur WMI-Abfrage: Du hast in Deinem Statement schlichtweg nur "admin" verwendet und nicht etwa eine Übergabe der Credentials erwirkt.

    Also würde ein Script wie folgt aussehen:

    $remoteuser = get-credential domäne\admin 
    Gwmi -ComputerName xyz -Class win32_computersystem  -Credential $remoteuser | Where-Object {$_.EventID -eq 6005}

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Donnerstag, 10. Dezember 2009 12:05

Alle Antworten

  • Hi,

    als allererstes möchte ich dich auf meinen Thread verweisen : http://social.technet.microsoft.com/Forums/de-DE/powershell_de/thread/eda2c200-5415-4362-998e-dba5c91cd9bd ;-)

    Hier kannst du alle Komponenten runterladen, die für den Remotezugriff mit der PS 2.0 benötigt werden : http://support.microsoft.com/default.aspx/kb/968929

    Und hier eine kleine Einführung zu den Thema: http://www.computerperformance.co.uk/powershell/powershell_remote.htm

    Gruß
    Martin
    Dienstag, 8. Dezember 2009 08:42
  • hi,

    denn thread kenn ich natürlich schon, da ich die suche benutzt habe :P

    konnte mir leider so gar nicht weitrehelfen.

    ich werds mir aber gerne erneut ansehen

    mfg
    Dienstag, 8. Dezember 2009 11:02
  • die beiden anderen Links sollten dir aber schon sehr viel weiter helfen... :P
    Dienstag, 8. Dezember 2009 11:10
  • puh aller anfang is schwer zumal wie ich finde die dokus nicht sehr gut sind!!



    also ersteinmal grundsätzliche frage

    ich habe ja bereits die v2 Version

    um remote anfragen zu machen brauche ich da noch extra die WINRm?

    und welche Credentials brauche ich um remote fragen zu stellen
    Dienstag, 8. Dezember 2009 11:43
  • ich habe nun folgendes probiert OHNE erfolg


    $remoteuser = get-credential

    get-wmiobject -class Win32_NTLogEvent -computername EGEER01AS23(reicht der dns name oder brauche ich fqdn??)


    bei wmi habe ich 2 domänen account die auf wmi vollzugriff haben

    fehlermeldung
    Get-WmiObject : Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSD
    ENIED))

    kann mir jemand sagen warum?!

    danke

    Dienstag, 8. Dezember 2009 14:09
  • Hallo Phobos,

    hast Du die oben verlinkten Artikel befolgt? Kannst Du eine PSSession remote ausführen?
    Du benötigst nicht unbedingt die WMI Remote Abfrage, denn mit der PowerShell V2 läßt sich über die Remote Session alles direkt abfragen.

    Beschreib doch noch einmal ganz genau wie Du vorgegangen bist.

    Bezüglich WMI: Bist Du lokaler Administrator auf der Remote Maschine bzw. hast Du die korrekten Credentials übergeben?

    Viele Grüße
    Fabian

    http://blogs.technet.com/deds
    Dienstag, 8. Dezember 2009 20:29
  • Hi Fabian,


    also ich bin "normaler Hptbenuzter" auf meinen xp client
    und wolte per wmi auf den remote server zugreifen

    mit $remoteuser = get-credential =es erscheint ein logon Fenster
    ich hab auf dem remote server (wmi credentials unter computer-management mit voll zugriff auf wmi vergeben) und der selbe account ist auch lokaler admin auf dem remote server!
    und übergeb ich die credentials mit $remoteuser = get-credential??
    Mittwoch, 9. Dezember 2009 06:49
  • hi Fabian,

    Kannst Du eine PSSession remote ausführen? wie soll das gehen??
    is das das selbe wie WinRM??
    ist WinRm automatisch in der V2 oder ist das ein addon?
    Mittwoch, 9. Dezember 2009 07:45
  • Hi Phobos,

    Du ziehst Dir zwar die Credentials in eine Variable - aber ich kann im WMI-Statement von Dir oben keine Übergabe dieser Credentials an das WMI-Query sehen. Ich vermute da liegt das Problem. Schau Dir einmal ein "get-help Get-WMIObject -full" an, dort ist der Parameter "-Credential <PSCredential>" relevant.

    Die Frage zu PSSession und WinRM läßt sich leicht beantworten, wenn Du die Suchmaschine Deiner Wahl benutzt ;-). Ich denke, das müssen wir hier nicht auch noch auseinander nehmen :-) :
    http://www.bing.com/search?q=PowerShell+V2+PSSession&form=QBLH&filt=all

    Heraus kommt dann bei der Suche beispielsweise:
    http://powershell.com/cs/blogs/tobias/archive/2008/11/09/powershell-v2-remoting-overview.aspx
    http://blogs.msdn.com/powershell/archive/2007/10/30/winrm-exe.aspx

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Mittwoch, 9. Dezember 2009 07:59
  • hi fabian,

    die pssesion geht die auch wenn auf dem remote system keine PS installiert ist?
    oder brauche ich dann doch wmi?
    mfg

    Donnerstag, 10. Dezember 2009 07:43
  • nochma Hi,

    ich wollte eben

    meine PSv2 Enable-PSRemoting -force ->Fehlermeldung

    Enable-PSSessionConfiguration : Windows PowerShell remoting features are not enabled or not supported on this machine.
    This may be because you do not have the correct version of WS-Management installed or this version of Windows does not
    support remoting currently.

    was is das Problem?!

    Donnerstag, 10. Dezember 2009 08:31
  • Hi Phobos,

    die Links mußt Du Dir schon anschauen, dort steht nämlich alles drin... ;-)

    Du brauchst kein WMI - Du verbindest Dich direkt mit dem Remote System per WinRM in einer PSSession.
    Natürlich kannst Du auch WMI nutzen, es stehen also beide Varianten zu Deiner Verfügung.

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Donnerstag, 10. Dezember 2009 08:31
  • das habe ich getan, nur als newbie sind diese beiden links alles andere wie hilfreich!

    frage wo bitte ist der unterschied!!

    Get-WmiObject -ComputerName EGEER01AS23 -Class win32_computersystem  -Credential i-brandt
    mit dem credential geht die abfrage
    wenn ich aber

    $remoteuser = get-credential /domäne/admin
    Get-WmiObject -ComputerName EGEER01AS23 -Class win32_computersystem
    machen bekomme ich einen zugriffsberechtigung Fehler?

    ??

    Donnerstag, 10. Dezember 2009 09:38
  • Hi Phobos,

    noch einmal der Hinweis: Wir müssen unterscheiden zwischen den remote WMI Abfragen und der PowerShell V2 / WinRM.

    Machst Du WinRM, dann brauchst Du die WMI-Abfrage nicht oder Du nutzt sie direkt auf dem Zielsystem mittels einer PS Remote Session (PSSession).

    Möchtest Du die WMI-Abfrage direkt remote nutzen, dann mußt Du die eingelesenen Credentials natürlich auch der WMI-Abfrage übergeben ;-):
     
    Get-WmiObject -ComputerName EGEER01AS23 -Class win32_computersystem  -Credential $remoteuser

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Donnerstag, 10. Dezember 2009 10:01
  • ahhhh ich verstehe die Übergabe findet mit $remoteuser statt!!

    ich hab früher noch nie gescriptet aber das habe ich nun verstanden danke fabian

    ez nur noch der unterschied

    zwischen wmi (wo ich natürlich auf der remote kiste die entsprechenden credatials brauche)

    und

    pssession / wimrm

    aber ich möchte auf keinem remotesystem die ps installieren, das soll ALLES von meiner lokales xp kiste aus gehen

    Donnerstag, 10. Dezember 2009 10:14
  • @ fabian,

    nochmal zu WMI

    Gwmi -ComputerName xyz -Class win32_computersystem  -Credential admin| Where-Object {$_.EventID -eq 6005}

    ich bekomme eine loginmaske ich  klopf meine credentials rein
     und nichts passiert?

    nun bekomme ich keine credatials fehlermeldung mehr und auch kein rpc!!

    dafür passiert nichts

    hast du ne idee?

    danke
    Donnerstag, 10. Dezember 2009 11:35
  • Hi Phobos,

    besorge Dir in jedem Fall ein PowerShell Buch, mit dem Du Dir die Grundlagen erarbeitest. Wir können hier im Forum nicht alle Deine Fragen abarbeiten. Danach könnten wir dann nämlich auch ein Buch draus machen. ;-)

    Also: Wenn Du die Abfrage lokal absetzen möchtest und WinRM nicht auf den Zielsystemen installieren möchtest, dann lassen wir WinRM ab jetzt weg.

    Zur WMI-Abfrage: Du hast in Deinem Statement schlichtweg nur "admin" verwendet und nicht etwa eine Übergabe der Credentials erwirkt.

    Also würde ein Script wie folgt aussehen:

    $remoteuser = get-credential domäne\admin 
    Gwmi -ComputerName xyz -Class win32_computersystem  -Credential $remoteuser | Where-Object {$_.EventID -eq 6005}

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Donnerstag, 10. Dezember 2009 12:05
  • das werde ich


    doch das habe ich!!
    sonst würde ja KEIN Loginfenster erscheinen

    PS H:\> Gwmi -ComputerName xyz -Class win32_computersystem  -Credential domäne/admin | Where-Object {$_.EventID -eq 6005}

    doch nach dem Login fenster passiert NICHTS mehr?!

    nach ein paa Sekunden erscheint eine Zeile tiefer der Promt in der PS wieder

    Donnerstag, 10. Dezember 2009 13:37
  • Hi,

    das liegt daran, daß es keine Eigenschaft "EventID" bei Deiner Abfrage gibt. Führe einmal die Abfrage ohne das "| Where-Object [...]" aus und Du wirst die Eigenschaften sehen, die Du abfragen kannst in dieser Klasse. "EventID" ist nicht dabei. Willst Du alle Eigenschaften der Klasse sehen, nimmst Du ein:

    PS H:\> Gwmi -ComputerName xyz -Class win32_computersystem  -Credential domäne\admin | format-list *

    Außerdem sollte es ein Backslah zwischen Domäne und Benutzer ein, also "domäne\admin" und nicht "domäne/admin".

    Wenn es Dir aber nicht nur um ein Beispiel, sondern um die konkrete Abfrage des Eventlogs geht, dann kannst Du anstatt "Get-WMIObject" besser "Get-Eventlog" nutzen. Ein "Get-Help Get-Eventlog -full" gibt Dir eine Menge Varianten für die Abfragen.

    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Donnerstag, 10. Dezember 2009 13:46
  • @ Fabian abschliessende frage,


    gwmi -ComputerName xxx -Credential admin -Class win32_operatingsystem -property lastbootuptime

    =LastBootUpTime   : 20091203141216.263250+060 (wmi ausgabeformat)


    #umrechnung
    [management.managementDateTimeConverter]::ToDateTime("20091203141216.263250+060")

    =Donnerstag, 3. Dezember 2009 14:12:16

    wie kann ich das in ein script automatisieren?

    besten dank

    • Bearbeitet -Phobos- Donnerstag, 10. Dezember 2009 14:38
    Donnerstag, 10. Dezember 2009 14:10
  • Hi,

    Du weist das Ergebnis einer Variablen zu und liest dann die Eigenschaft "lastbootuptime" aus:


    $variable = gwmi -ComputerName EGEER01AS23 -Credential svc-wugmon -Class win32_operatingsystem -property lastbootuptime

    $ergebnis = [management.managementDateTimeConverter]::ToDateTime($variable.lastbootuptime)

    write $ergebnis


    Viele Grüße
    Fabian
    http://blogs.technet.com/deds
    Donnerstag, 10. Dezember 2009 14:25
  • ich war etwas abwesend, aber es ist hier ne Menge passiert ;-). Zu den Remote Abfragen über WMI... warum soll man es sich einfach machen, wenns doch kompliziert geht... ;-) 
    Freitag, 11. Dezember 2009 19:23