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 VBS Code funkt, aber ASP-Variante nicht

Mitglied: DerSud

DerSud (Level 1) - Jetzt verbinden

20.02.2020, aktualisiert 15:25 Uhr, 298 Aufrufe, 6 Kommentare

Hallo zusammen!

Da ich nicht der Programmierer bin, habe ich mir folgenden VBS-Code aus dem Internet zusammengeschustert, der als Paramter einen Workstationnamen entgegennimmt und ein darauf befindliches Profil (welches sich am besagten Namen orientiert) sowohl aus Registry, als auch aus C:\Users löscht. Das Skript läuft mit den hardgecodeten Service-Credentials von der Shell (cmd mit cscript.exe), aber sobald ich daraus ein Classic.ASP-Skript (IIS auf Windows Server 2019) mache, erhalte ich immer Error 424 Objekt erforderlich beim objUserProfile.Delete_. Ich habe schon unzählige Tipps gegoogelt, aber keiner fruchtet, so dass ich es nicht schaffe, das Skript mittels URL-Aufruf (z.B. mit http://localhost/delete_profile.asp?rechnerName=RD401) auszuführen.

Hier der besagte VBS-Code:
Option Explicit

'Now the variables
Dim LOGON_USER, AUTH_USER, REMOTE_ADDR, DOMAIN_NAME, MGMT_USER, MGMT_PWD, ARG
Dim rechnerName, UserProfileName, QueryPath, objSID, objUserProfile, returnValue
Dim objSWbemLocator, objSWbemServices, colProfiles, objProfile, colItems, objItem
Dim Folder()

DOMAIN_NAME = "DOMAINNAME"
MGMT_USER = "DOMAINNAME\SUPAUSER"
MGMT_PWD = "KENNWORT0815"
returnValue = 0

'------------ only in vbs --------------------
Set ARG = Wscript.Arguments
if (ARG.Count = 0) then
WScript.Echo "Usage: delete_profile.vbs {Name of PC}"
Wscript.Quit 1
else
rechnerName = ARG(0)
end if
'----------------------------------------------------

On Error Resume Next
Err.Clear
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(rechnerName, "root\cimv2", MGMT_USER, MGMT_PWD)

If Err.Number <> 0 Then
Set objSWbemServices = Nothing
Wscript.Echo "fail"
Response.End
End If

objSWbemServices.Security_.ImpersonationLevel = 3

'extracting profilename from hostname (x123 or xx123 -> u123)
UserProfileName = "u" & Right(rechnerName,3)

Set colProfiles = objSWbemServices.ExecQuery("SELECT * FROM Win32_UserProfile")
For Each objProfile in colProfiles
Set objSID = objSWbemServices.Get("Win32_SID.SID='" & objProfile.SID &"'")
If (objSID.ReferencedDomainName = DOMAIN_NAME) Then
If (objSID.AccountName = UserProfileName) Then
Err.Clear
Set objUserProfile = GetObject("winmgmts:{impersonationlevel=impersonate}!\\" & rechnerName &"\root\cimv2:Win32_UserProfile." & "SID='" & objProfile.Sid &"'")
objUserProfile.Delete_
If Err.Number = -2147024809 Then
Wscript.Echo "Fail: Profile in use, skipping"
returnValue = 1
ElseIf Err.Number <> 0 Then
Wscript.Echo "Error: " & Err.Number & ": " & Err.Description
returnValue = Err.Number
Else
Wscript.Echo "ok"
End If
End If
End If
Next


Set objSID = Nothing
Set colProfiles = Nothing
Set objSWbemServices = Nothing

WScript.Quit(returnValue)
Zur Info: beim ASP-Skript wird der recherName mittels Request.Querystring("rechnerName") geholt und statt Wscript.echo steht ein Response.Write an den notwendigen Stellen.
Vielleicht weiß jemand noch einen Rat?

greets
Mitglied: TRDSRLZ
20.02.2020, aktualisiert um 18:35 Uhr
So Moment. Du willst ein Serverseitiges VBSkript ausführen? Oder ist das Clientseitig?
Bitte warten ..
Mitglied: TRDSRLZ
20.02.2020 um 18:41 Uhr
Ok Serverseitig wenn ich richtig verstehe.

Du übergibst vom Client den Parameter 'Rechnername' und führst dann dein Skript auf einem Server aus. Dort soll mit dem Userobjekt interagiert werden das auf dem Client liegt?

Wenn du das Parameter übergibst, wird das Skript ja immer noch am Server ausgeführt.... du willst aber ja wohl dass es eine Aktion am Client durchführt oder?
Bitte warten ..
Mitglied: sabines
21.02.2020 um 07:09 Uhr
Moin,

wenn es Dir nur um das Löschen von Profilen geht, dann kannst Du das hier kostenfrei per Startup Script laufen lassen:
https://helgeklein.com/free-tools/delprof2-user-profile-deletion-tool/

Oder Du erfindest das Rad neu

Gruss
Bitte warten ..
Mitglied: DerSud
21.02.2020 um 15:02 Uhr
Das Skript wird am Server ausgeführt, dieser verbindet sich in Folge zum Client und löscht dort das Profil. Das ist dem Umstand geschuldet, dass sich auf Grund der Security nur Server zu den Clients verbinden dürfen. Leider muss das Profil-Löschen nicht nur der Administrator dürfen, sondern auch beliebige andere User. Darum der IIS, wo eine Verwaltungswebseite mit einem Button "Profil löschen" existiert. Hoffe ich habe das jetzt genauer beschrieben
Bitte warten ..
Mitglied: DerSud
21.02.2020 um 15:05 Uhr
@ sabines: wäre schön, aber delprof2 funktioniert schon lange nicht mehr mit Windows 10 (siehe dein Link). Aber das neue Rad will eben nicht so...
Bitte warten ..
Mitglied: DerSud
03.03.2020 um 16:32 Uhr
Nach knapp zwei Wochen herumprobieren (als Nicht-Programmierer wohlgemerkt) bin ich endlich auf die Lösung gestoßen, die ich zwecks Doku für mich und für alle anderen, die auf diesen Thread stoßen, hier in einfacher Form angebe:

Der Fehler 424 ist leider mehrdeutig. In meinem Fall war die Aussage aber ziemlich korrekt, nur bin ich vorerst nicht auf die Ursache gestoßen. Und die war, dass ich mit Set objUserProfile = GetObject("winmgmts.... ein neues Objekt erstellt habe. Das hat zwar in der Shell noch gefunkt, aber über den IIS nicht mehr, da dies eine doppelte WMI-Verbindung wäre, die so nicht erlaubt ist. (Die letzten Windows-Updates haben dann den gleichen Fehler auf der Shell geworfen, was mich auf die Spur gebracht hat).

Korrekterweise muss man daher die erste Verbindung (die mit Set objSWbemServices = objSWbemLocator.ConnectServer aufgebaut wird) weiter nutzen und zwar mit diesen korrigierten Zeilen, die statt der fetten oberhalb zur Anwendung kommen:
Set colUserProfiles = objSWbemServices.ExecQuery("Select * From Win32_UserProfile Where SID='" & objProfile.Sid & "'")
For each objUserProfile in colUserProfiles
Wscript.Echo "Local Path = " & objUserProfile.LocalPath
objUserProfile.Delete_
Next

(Danach gehts mir If Err.Number weiter)

Somit habe ich endlich ein funktionstüchtiges Skript für den Enduser zum Löschen von Profilen auf Remotemaschinen, die auch unter Windows 10 laufen können.

So long and thanks for all the fish
Bitte warten ..
Ähnliche Inhalte
Webentwicklung
ASP MVC auf IIS 8.5
Frage von hpbrunsWebentwicklung3 Kommentare

Hallo liebe Gemeinde Ich bin schier am Verzweifeln. Seit zwei Wochen doktor ich an einem Problem rum und krieg's ...

DNS

DNS NAMENSAUFLÖSUNG ÜBER REMOTE FUNKT NET

Frage von KabuntelDNS4 Kommentare

Hallo, Ich nutze Remote Desktop Connection Manager, um mich auf meine VMs zu schalten. Seit heute habe ich das ...

Hosting & Housing

CNAME auf FTP funkt nicht mehr

Frage von WintektivHosting & Housing11 Kommentare

Hallo zusammen, nach dem ich meine Domain auf einen anderen Server verweisen wollte und wieder zurück gesetzt habe, weil ...

Exchange Server

Powershell Exchange SnapIn MoveRequest funkt immer zu localhost

Frage von Trekki1990Exchange Server20 Kommentare

Hallo zusammen, ich bewege mich in folgender Umgebung: - kürzlich von E2010 auf E2016CU14 gewechselt - ExchangeVerwaltungstools sind auf ...

Neue Wissensbeiträge
Windows Server

Update KB4541329 (März 2020) und Windows Server 2016 RDS 1609 Probleme

Anleitung von System-Fehler vor 21 StundenWindows Server1 Kommentar

Hallo, hier zur Info und eventuelle Hilfe: Wir hatten folgende Fehler: Windows 2016 Datacenter 1609, hier als RDS Dienste ...

Internet

Aktuelle Netzauslastung in Deutschland durch die Covid-19-Pandemie

Information von Frank vor 1 TagInternet10 Kommentare

Viele Bürger fragen sich, ob die Telekommunikationsnetze während der Covid-19-Pandemie der verstärkten Internetnutzung durch Home Office, eLearning, Videostreaming und ...

iOS

iOS-Bug unterbindet vollständiges VPN-Tunneling

Information von transocean vor 3 TageniOS

Moin, seit dem letzten Update hat iOS für iPhone und iPad ein Problem mit der Verschlüsselung. Lest selbst. Grüße ...

Sicherheit
Corona Malware über manipulierte Router
Information von sabines vor 3 TagenSicherheit

Heise berichtet über Malware, die in Zusammenhang zum Suchethema Corona steht und über DNS Einstellungen bei D-Link und Linksys ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
Netphone APP nimmt kein Kontakt auf
Frage von Finchen961988TK-Netze & Geräte12 Kommentare

Hallo, ich kämfpe mit einem Problem im Bereich Netphone und der Mobil APP. Bei einem Kunden habe ich eine ...

Router & Routing
VPN Client als Router
gelöst Frage von lowsounderRouter & Routing12 Kommentare

Moin moin, zwecks Homeoffice habe ich einen Laptop zuhause der mittels OpenVPN an das Firmennetz angeschlossen ist. Adminrechte hab ...

Microsoft Office
Excel Problem Verhalten bei einem zusätzlichen angeschlossenem Monitor
Frage von JuniorgongMicrosoft Office12 Kommentare

Hallo Ich habe ein Problem mit einem User der im Home-Office sitzt. Es wurde an einem Notebook ein 2ter ...

Server-Hardware
ESXi 6.+ auf MINI-ITX Rechner
gelöst Frage von N4m3n7os3rServer-Hardware11 Kommentare

Hallo liebe Community, aus nicht wichtigen Gründen bin ich am überlegen meinen alten Server HP ML350G6 erstmal still zu ...