Heißes Thema (mehr als 10 Antworten) Clients verschieben / löschen (Gelesen: 7226 mal)
mindbender
WSUS Neuling
Offline


I Love WSUS!

Beiträge: 1
Mitglied seit: 13.11.08
Clients verschieben / löschen
13.11.08 um 10:35:36
Beitrag drucken  
Hallo zusammen,
ich bin derzeit auf der Suche nach einem Skript, mit dem ich bestimmte Clients in eine andere Computergruppe verschieben (und anschließend von Hand löschen) oder direkt löschen kann.
Der Grund ist, dass wir ständig Listen von abgebauten Computern erhalten, und den WSUS gern auf dem aktuellen Stand haben möchten.
Das Skript sollte in VBScript sein, da ein Skript für das Deaktivieren der Clients im AD und löschen aus der SMS-Datenbank bereits existiert, und ich ganz gern dieses mit integrieren möchte.
VBScript-Kenntnisse sind natürlich vorhanden, falls mir jemand den Weg zum WSUS zeigt wie ich da draufkomme und auf die ComputerTargetGroups, finde ich den Rest wahrscheinlich selbst.

In Powershell habe ich ein solches Skript bereits, aber das ist etwas langsam und unkomform.
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Clients verschieben / löschen
Antwort #1 - 13.11.08 um 11:47:12
Beitrag drucken  
Hmm, Du kennst den Serverbereinigungsassistenten? Evtl. hilft dir der ja auch schon ein Stück weiter.

Alternativ findest Du evtl. was im Scriptcenter: (Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen). und/oder: (Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen).
  
Zum Seitenanfang
 
DESoft
WSUS Experte
*****
Offline


I Love WSUS!<br />

Beiträge: 702
Standort: Magdeburg
Mitglied seit: 24.07.08
Re: Clients verschieben / löschen
Antwort #2 - 14.10.09 um 17:02:32
Beitrag drucken  
Hallo Thread ... ich muss Dich mal wecken.

mindbender schrieb on 13.11.08 um 10:35:36:
Der Grund ist, dass wir ständig Listen von abgebauten Computern erhalten, und den WSUS gern auf dem aktuellen Stand haben möchten.


Wir habe ebenso ein Problem ... in Kombination mit dem Umstand, dass etliche Rechner länger nicht im Netzwerk auftauchen.
Diesen Usern müssen wir immer mal auf die Finger klopfen.
Mit dem Assistenten sind diese verschwunden und das ist wg. der Übersicht nicht erwünscht! Augenrollen

Aber jetzt keimt Hoffnung. Anbei ein PS-Script zum Löschen von Clients:

Code
# Variables - set these to fit your needs
###############################################################################
# The server name of your WSUS server
$serverName = 'localhost'

# use SSL connection?
$useSecureConnection = $False

# the port number of your WSUS IIS website
$portNumber = 80

# set operated DomainNameSpace (DNS-Suffix)
# $DnsSuffix = ''; # <= All Spaces
$DnsSuffix = 'myfirma.de';

# set NetBiosName - use WildChars '*' or '?'
# $ComputerName = 'MyWks0*';
$ComputerName = 'MyWks001';


# Script - don't change anything below this line!
###############################################################################

# load WSUS framework
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")   

# connect to specified WSUS server
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($serverName, $useSecureConnection, $portNumber)   

$computerScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope;
$computerScope.NameIncludes = '.' + $DnsSuffix
$computerScope.IncludeDownstreamComputerTargets = $True
$Computers = $WSUS.GetComputertargets($computerScope)

$computers | foreach-object { if ( $_.FullDomainName -like ($ComputerName + '.*')) { $_.delete() } }

$Computers = $Null
$wsus = $Null

 



Wenn das Script auf dem Master ausgeführt wird ... erfolgt die Löschung auf dem Replika kunstgerecht nach der Synchronisation. Zwinkernd

Da der WSUS nicht an DNS-Suffixen gebunden ist ... und Namen in verschiedenen Namensspaces identisch sein können ... kann man mit dem Suffix eine Vorselection treffen.
Der Computername kann auch mit WildChars mehrere Systeme beschreiben ... dann geht gleich mehr auf einmal. Durchgedreht

Test war erfolgreich ... Client fädelt sich mit wuauclt /resetauthorization  sofort wieder ein.
Und Dank automatischer Gruppenzuordnung via GPO ... kann man den Test nur aus Jux auch mehrmals machen - der Freude wegen Laut lachend

Viel Spass.

Gruß Dani
  
Zum Seitenanfang
 
DESoft
WSUS Experte
*****
Offline


I Love WSUS!<br />

Beiträge: 702
Standort: Magdeburg
Mitglied seit: 24.07.08
Re: Clients verschieben / löschen
Antwort #3 - 15.10.09 um 14:28:44
Beitrag drucken  
@All

So ... zur Feier des Tages hab ich das Script nochmal optimiert. Zwinkernd

Datei hängt an. Einfach in ps1 umbenennen und mit Cmd/Bat aufrufen. Beschreibung im Script-Header. 

@WSUS-Admin
Marco - wäre schön wenn Du das Ding nochmal testest und ein Statement gibst. Augenrollen

Viel Spass.

Gruß Dani
  
(Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen). ( 1 KB | Downloads )
Zum Seitenanfang
 
DESoft
WSUS Experte
*****
Offline


I Love WSUS!<br />

Beiträge: 702
Standort: Magdeburg
Mitglied seit: 24.07.08
Re: Clients verschieben / löschen
Antwort #4 - 15.10.09 um 16:41:50
Beitrag drucken  
Hubs ... ich glaube der SSL-Port ist im Script falsch ... Ärgerlich

War der nun 3580 oder 8530 ???
Wir fahren bei uns noch kein WSUS mit SSL. unentschlossen

Naja einfach anpssen im Script und gut ist ... Zwinkernd

Gruß Dani
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Clients verschieben / löschen
Antwort #5 - 15.10.09 um 16:52:52
Beitrag drucken  
DESoft schrieb on 15.10.09 um 16:41:50:
Hubs ... ich glaube der SSL-Port ist im Script falsch ... Ärgerlich

War der nun 3580 oder 8530 ???
Wir fahren bei uns noch kein WSUS mit SSL. unentschlossen


Normal 8530. SSL 8531. Zwinkernd
Alternativ 80 + 443. Zwinkernd
  
Zum Seitenanfang
 
DESoft
WSUS Experte
*****
Offline


I Love WSUS!<br />

Beiträge: 702
Standort: Magdeburg
Mitglied seit: 24.07.08
Re: Clients verschieben / löschen
Antwort #6 - 15.10.09 um 16:57:44
Beitrag drucken  
Ach so .. dann ist der 8530 nur ein alternativer Port zu 80 ?!?

Na dann muss das im Script aber separat berücksichtigt werden. Ärgerlich

Gruß Dani
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15134
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Clients verschieben / löschen
Antwort #7 - 15.10.09 um 17:02:02
Beitrag drucken  
DESoft schrieb on 15.10.09 um 16:57:44:
Ach so .. dann ist der 8530 nur ein alternativer Port zu 80 ?!?


Wenn Port 80 auf dem IIS belegt ist, muß auf 8530 ausgewichen werden. Und SSL läuft dann eben auf 8531. Sollte so aber auch in der Doku von MS zum WSUS zu finden sein. Zwinkernd

  
Zum Seitenanfang
 
DESoft
WSUS Experte
*****
Offline


I Love WSUS!<br />

Beiträge: 702
Standort: Magdeburg
Mitglied seit: 24.07.08
Re: Clients verschieben / löschen
Antwort #8 - 15.10.09 um 17:14:11
Beitrag drucken  
Ok - ok - ok ...
das Script kann jetzt auch den richtigen alternativen Port verwenden. Smiley

Da ich kein WSUS mit SSL und / oder alternativen Port habe, kann ich dös net testen. Griesgrämig

Weiter Hinweise wären sehr hilfreich ... schon mal danke im Voraus. Zwinkernd

Aufruf ist jetzt:
Code
Powershell.exe ./wsus_delete_Computer.ps1 MyWsusSvr no no MyWks0* MyFirma.de  


Gruß Dani
  
(Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen). ( 2 KB | Downloads )
Zum Seitenanfang
 
AlienShooter
WSUS Senior Member
***
Offline



Beiträge: 105
Mitglied seit: 16.01.09
Geschlecht: männlich
Re: Clients verschieben / löschen
Antwort #9 - 04.12.09 um 13:39:49
Beitrag drucken  
Hi Dani,

danke für dein Script.
An und für sich klappt das Script mit ein paar Änderungen bei mir.

Zwei Fehler meine ich noch entdeckt zu haben:

1. SSL Ports sind 443 oder 8531
Das heißt, wenn jemand bei dir sagt er möchte eine "SecureConnection" verwenden, nimmst du den Port 8530. Richtig wäre 8531 bzw. 443

2. Bei deiner Auswahl "<no|ALT>" bedeutet no = Port 80 und ALT = Port 8530 ... sollte doch bestimmt andersherum sein oder?

Habe das Script nochmal etwas überarbeitet und angehängt.

Habe es so gemacht, dass man selbst entscheiden kann welchen Port man verwenden möchte (ob 80/8531/443/8531).
Bei den SSL Ports 443 oder 8531 wird automatisch dann die "SecureConnection" gesetzt.

Aufruf:
Code
Powershell.exe ./wsus_delete_computer.ps1 WsusServ PortNumber MyWks0* My.Firma.de

bzw.

Powershell.exe ./wsus_delete_computer.ps1 MyWsusSvr.MyFirma.de 8531 MyWks0* My.Firma.de 



Das mit dem DnsSuffix kann man eigentlich auch weglassen!?

Gr€€tz Tim
  
(Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen). ( 2 KB | Downloads )
Zum Seitenanfang
 
DESoft
WSUS Experte
*****
Offline


I Love WSUS!<br />

Beiträge: 702
Standort: Magdeburg
Mitglied seit: 24.07.08
Re: Clients verschieben / löschen
Antwort #10 - 13.12.09 um 15:25:43
Beitrag drucken  
Hi Tim,

tut mir leid, aber ich war ein paar Wochen nicht in der Lage mich hier so zu beteiligen, wie es von mir vorgesehen war. Mit anderen Worten ... ich bin wieder online. Zwinkernd
Richtig, die Steuerung des SSL und der Portnummer war stark überarbeitungsbedürftig ... aber Du hast es prima hinbekommen.
Was den DNS-Namenspace betrifft, kann man das so oder anders sehen. Wir haben Computer in 3 verschiedenen DNS-Namensuffixen in einer gemeinsamen WSUS-Struktur am laufen. Da war eine gezielte Ansprache des richtigen Clients wichtig. Die Clients wechseln nämlich nach und nach den Namensraum ... von der Workgroupumgebung in den einer Domäne. Der Computer-Name (oder auch NetBios-Name) selbst bleibt dabei unverändert. Da war das halt erforderlich. Smiley

Schön das es Dir Spass macht. Mit der PowerShell kann man WSUS sehr gut erkunden und es kommen einem immer neue Ideen. So soll es ein. Zwinkernd

Gruß Dani
  
Zum Seitenanfang
 
Bookmarks: Facebook Google Google+ Linked in Twitter Yahoo
 



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