Heißes Thema (mehr als 10 Antworten) Computerkonto per SQL-Befehl verschieben (Gelesen: 2671 mal)
Doctor
WSUS Junior Member
*
Offline


I Love WSUS!

Beiträge: 12
Mitglied seit: 19.04.11
Computerkonto per SQL-Befehl verschieben
19.04.11 um 13:40:11
Beitrag drucken  
Hallo liebe Leute,

ich bin neu im Forum und habe direkt mal eine Frage.
Wir haben bei uns in der Firme mehrere Gruppen im WSUS definiert. Ich will jetzt per SQL Befehl gerne wissen, wie ich ein Computerkonto direkt in eine gewünschte WSUS-Gruppe einfügen kann.
Vielen Dank schonmal im Voraus !
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #1 - 19.04.11 um 13:46:14
Beitrag drucken  
Du mußt die Gruppenzugehörigkeit in der SUSDB bearbeiten. Ich weiß nicht welche Tabelle(n) da zu bearbeiten sind, aber ein UPDATE ist mit Sicherheit schon mal beim SQL Statement dabei. Zwinkernd
  
Zum Seitenanfang
 
Doctor
WSUS Junior Member
*
Offline


I Love WSUS!

Beiträge: 12
Mitglied seit: 19.04.11
Re: Computerkonto per SQL-Befehl verschieben
Antwort #2 - 19.04.11 um 13:50:35
Beitrag drucken  
Vielen Dank für deine schnelle Antwort Sunny.
Ja das habe ich mir schon gedacht. Das Problem ist, in welche Tabellen muss ich das bearbeiten. Da habe ich leider keinen Durchblick. Vielleicht hast du ja schon die ein oder andere Erfahrung damit gemacht.
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #3 - 19.04.11 um 13:59:29
Beitrag drucken  
Erfahrung hab ich schon mit dem WSUS, auch mit der SUSDB, aber noch nicht mit den Tabellennamen für die Gruppenzugehörigkeit. Es sind aber nicht so viele Tabellen, das sollte sich in 15 Minuten finden lassen. Schau dir auch die VIEWS an, evtl. findest Du dort Hinweise.
  
Zum Seitenanfang
 
Doctor
WSUS Junior Member
*
Offline


I Love WSUS!

Beiträge: 12
Mitglied seit: 19.04.11
Re: Computerkonto per SQL-Befehl verschieben
Antwort #4 - 19.04.11 um 14:16:28
Beitrag drucken  
Vielen Dank für den Tipp Sunny.
Ich werde mir die Views mal genauer anschauen.
  
Zum Seitenanfang
 
Doctor
WSUS Junior Member
*
Offline


I Love WSUS!

Beiträge: 12
Mitglied seit: 19.04.11
Re: Computerkonto per SQL-Befehl verschieben
Antwort #5 - 19.04.11 um 16:01:12
Beitrag drucken  
Ich habe unter Views die Tabelle "PUBLIC_VIEWS.vComputerGroupMembership" gefunden. Jedoch kann ich diese Tabelle nicht ändern. Ich denke der hat ein Problem damit, dass das ein PUBLIC_VIEW ist. Hast du vielleicht noch eine Idee dazu ?
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #6 - 19.04.11 um 16:10:20
Beitrag drucken  
Doctor schrieb on 19.04.11 um 16:01:12:
Ich habe unter Views die Tabelle "PUBLIC_VIEWS.vComputerGroupMembership" gefunden. Jedoch kann ich diese Tabelle nicht ändern. Ich denke der hat ein Problem damit, dass das ein PUBLIC_VIEW ist. Hast du vielleicht noch eine Idee dazu ?


Eine View ist keine Tabelle. Welche Tabellen sind in der View?
  
Zum Seitenanfang
 
Doctor
WSUS Junior Member
*
Offline


I Love WSUS!

Beiträge: 12
Mitglied seit: 19.04.11
Re: Computerkonto per SQL-Befehl verschieben
Antwort #7 - 20.04.11 um 12:42:43
Beitrag drucken  
Ich kann in den Views etwas hinzufügen aber nicht löschen !
Folgende Tabellen sind unter den Views zu sehen (ausgenommen die PUBLIC VIEWS):
ivwApiUpdateRevision
vwApiUpdateType
vwCategoryProperties
vwConfiguration
vwDefaultLocalizedProperty
vwEventHistory
vwMinimalUpdate
vwStateMachineEventTransitionLog
vwUpdateInCategory
vwUpdateLanguage
vwUpdateLocalizedProperties
vwUpdatesToReport
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #8 - 20.04.11 um 14:56:25
Beitrag drucken  
Das kann doch nicht so schwer sein. In der Tabelle tbTargetGroup sind die Gruppennamen zu finden, die TargetGroupGUID sowie die ParentGroupID. In der Tabelle tbTargetGroupType finden sich neben der TargetGroupTypeID auch noch der Name und die Bezeichnung. OK, der Inhalt ist nicht lebenswichtig, sieht aber auch brauchbar aus.

In der PUBLICVIEW.vComputerGroupMembership findest Du alles was Du brauchst. Öffne die View mit Rechtsklick > entwerfen > fahr mit der Maus auf die beiden Tabellen und warte bis der Tool Tipp kommt. Schon hast Du die wichtigen Tabellen. Die anderen Views sind wahrscheinlich noch vComputerTarget und/oder vComputerTargetGroup. Alles Public Views. Daran sollst Du nichts rumschrauben, die werden von der WSUS.MSC benutzt.

Wenn Du den SQL-String selbst erstellen willst, dann zeichne dir auf, wo was passiert wenn Du einen Rechner von Gruppe A nach Gruppe B verschiebst. Schau dir die Änderungen in der SUSDB an, schon kannst Du den SQL-String erstellen. Nein, ich mach das nicht. Zwinkernd
  
Zum Seitenanfang
 
MartinG
WSUS Junior Member
*
Offline



Beiträge: 41
Mitglied seit: 11.09.09
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #9 - 21.04.11 um 09:21:07
Beitrag drucken  
Von den Tabellen selbst würde ich tunlichst die Finger lassen. Das Risiko, dass du irgendeinen Verweis übersiehst und dir damit deine Datenbank in einen inkonsistenten Zustand versetzt, würde ich nicht eingehen.

Glücklicherweise bringt Microsoft aber Stored Procedures mit, die die Arbeit für dich übernehmen. Schau dir mal diese SP an:
spAddComputerToTargetGroup

Diese hat 2 Parameter:
@targetGroupID - die Gruppe, in die der Computer rein soll
@computerID - ID des Computers

Wenn ich den Code der SP richtig lese, so wird der Computer, falls er bereits in einer anderen Gruppe steckt, zunächst aus dieser entfernt, und anschliessend in die neue Gruppe eingefügt. Damit tut die SP genau das, was du wünschst.  Cool
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #10 - 21.04.11 um 11:06:30
Beitrag drucken  
Ob ich das per SQL Abfrage in den Tabellen ändere oder ob ich die SP aufrufe, das nimmt sich nicht viel. Zumal Du bei der SP ja auch die targetGroupID und die ComputerID benötigst.

Trotzdem Danke für den Hinweis. Zwinkernd
  
Zum Seitenanfang
 
MartinG
WSUS Junior Member
*
Offline



Beiträge: 41
Mitglied seit: 11.09.09
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #11 - 21.04.11 um 12:47:19
Beitrag drucken  
Die SP prüft unter anderem, ob die TargetGroupID einen ganz bestimmten fixen Wert hat (weiss nicht, welche Gruppe das ist - vielleicht "Alle Computer"?) - wenn ja, bricht sie sofort ab. Des weiteren prüft sie, ob es den angegebenen Computer und die TargetGroup überhaupt gibt, ob der Computer vorher aus einer anderen TargetGroup entfernt werden muss, ob das Einfügen erfolgreich war, und packt das ganze dann auch noch in eine Transaction.

Warum sollte Doctor das Rad neu erfinden und an den Tabellen rumdoktoren (SCNR) mit dem Risiko, eine der o.g. Prüfungen zu übersehen, wenn es das alles schon fertig von Microsoft in einer SP gibt?

Die ComputerID und die TargetGroupID braucht Doktor in beiden Fällen, das stimmt. Dass er die bestimmen kann, davon gehe ich mal aus, wenn er hier nach SQL-Befehlen fragt. Cool
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #12 - 21.04.11 um 13:27:51
Beitrag drucken  
OK, ich geb mich ja schon geschlagen, ja, Du hast Recht, es macht schon Sinn die SP zu benutzen, denn dafür ist sie ja da. Smiley
  
Zum Seitenanfang
 
Doctor
WSUS Junior Member
*
Offline


I Love WSUS!

Beiträge: 12
Mitglied seit: 19.04.11
Re: Computerkonto per SQL-Befehl verschieben
Antwort #13 - 28.04.11 um 08:38:29
Beitrag drucken  
Hallo Sunny & MartinG. Vielen Dank für eure Hilfe. Ich hab das jetzt per SP gelöst. Es war halt etwas komplizierter, weil ich die SP von außerhalb ausführen wollte und Parameter übergeben wollte, sprich per VBS unter Enteo v6.2 !!!
Thx  Zwinkernd
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Computerkonto per SQL-Befehl verschieben
Antwort #14 - 28.04.11 um 09:07:10
Beitrag drucken  
Doctor schrieb on 28.04.11 um 08:38:29:
Hallo Sunny & MartinG. Vielen Dank für eure Hilfe. Ich hab das jetzt per SP gelöst. Es war halt etwas komplizierter, weil ich die SP von außerhalb ausführen wollte und Parameter übergeben wollte, sprich per VBS unter Enteo v6.2 !!!
Thx  Zwinkernd


Magst Du sie veröffentlichen? Wäre bestimmt nicht uninteressant für andere Mitglieder der Community. Zwinkernd
  
Zum Seitenanfang
 
Bookmarks: Facebook Google Google+ Linked in Twitter Yahoo
 



Nutzungsbedingungen | Datenschutz
Kontakt | RSS | Feedback | Impressum
Facebook | News einsenden