Fatherjack,
Вы могли предоставить больше подробную информацию? Вы используете какие-либо параметры с xp_logininfo? Вы выполняете его в каждой базе данных? Кроме того, какова конечная цель (т.е. Вы храните информацию где-нибудь, или действительно ли это - приложение, которое пытается выполнить xp_logininfo?)
Может быть обходное решение с некоторой другой системой procs, но прежде чем я предложу что-либо, что я должен знать больше о том, что это - Вы, пытаются выполнить. хм... я предполагаю, что это - мой способ сказать, "каковы требования?"
Попробуйте xcacls.vbs (http://support.microsoft.com/kb/825751). Это - свободная утилита командной строки VBScript от Microsoft, которая подобна команде cacls, но с большим количеством опций. Это имеет способность применить более мелкомодульные полномочия, чем cacls, но прочитать инструкции (отображенный путем ввода команды без любых опций: cscript xcacls.vbs) тщательно; они довольно сложны! Это действительно имеет способность применить полномочия только на "Эту папку и подпапки"; я использовал его прежде, чтобы сделать точно это.
При выполнении Windows Vista или позже включенная icacls утилита (http://technet.microsoft.com/en-us/library/cc753525 (WS.10) .aspx) могла бы быть более соответствующей.
После того как Вы обработали надлежащую команду (использующий любой инструмент), поместили его в *.cmd сценарий и затем добавляете сценарий к Объекту Групповой политики для применения его к машинам через Групповую политику. Обратите внимание, что необходимо будет также так или иначе загрузить xcacls.vbs на каждую машину, если Вы идете тем путем. Это могло быть выполнено включением команды для загрузки xcacls.vbs сценария из файла, совместно используют и сохраняют его локально в том же *.cmd сценарии, где устанавливающая разрешение команда находится (или Вы могли, возможно, попытаться выполнить его непосредственно от доли файла).
Можно исправить это использование GPO довольно легко.
Если они хотят использовать Altiris, то установите задание для использования cacls.exe для сброса прав на папке.
Вот получающийся код на основе предложения Jay Michaud.
Я закончил тем, что добавил пользовательское действие к своему установщику. Это бежало за файлами, были скопированы. Если Вы сделаете это, то Вы захотите этот код ниже, и Вы захотите передать по каналу в как аргументы: APPDIR|CommonAppDataFolder. (да это - канал, разграничивающий их),
dim XCACLS_EXEC, APPDATAFOLDER, WindowStyle
' COMMENT OUT THIS SECTION IF NOT RUNNING AS AN INSTALLER CUSTOM ACTION,
' SET XCACLS_EXEC and APPDATAFOLDER variables some other way.
actdata = Session.Property("CustomActionData")
tokens = Split( actdata, "|", -1)
XCACLS_EXEC = tokens(0) & "XCACLS.vbs"
APPDATAFOLDER = tokens(1)
WindowStyle=0 '0 for hide, 1 for show.
set objShell = CreateObject("WScript.Shell")
'MsgBox XCACLS_EXEC & " " & APPDATAFOLDER & " " & Session.Property("CustomActionData")
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /SPEC C /G users:W", WindowStyle, True
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /E /G users:X", WindowStyle, True
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /E /G ""Power Users"":M", WindowStyle, True
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /E /G ""CREATOR OWNER"":F", WindowStyle, True
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /E /G Administrators:F", WindowStyle, True
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /E /G Administrator:F", WindowStyle, True
objShell.Run "cscript """ & XCACLS_EXEC & """ """ & APPDATAFOLDER & """ /E /G SYSTEM:F", WindowStyle, True