Получить буквы физического и сетевого драйверов с помощью команды WMIC с использованием SQL Server 2008

82
6

В моем Windows Server 2008 у меня есть физические диски с буквами "C:", "D:", "E:", "H:" и "Z:", а DVD-диск содержит букву "G:", а также наличие сети диск с буквой "Y:"

Если я выполнил следующий запрос в командной строке

wmic LOGICALDISK LIST INSTANCE

Я получу результат

enter image description here

Но если вы запускаете следующий запрос в SQL Server 2008 на том же сервере. Буква сетевого диска отсутствует на выходе

EXEC master..xp_cmdshell 'wmic LOGICALDISK LIST INSTANCE'

В результате

enter image description here

спросил(а) 2018-07-11T11:43:00+03:00 2 года, 4 месяца назад
1
Решение
59

Отображаемые диски сопоставляются с помощью токена пользователя. SQL Server почти никогда не работает как пользователь, поэтому не имеет доступа к сопоставлениям пользовательских дисков.

Администратор имеет два токена пользователя. Ограниченный пользовательский и административный. Отображаемый диск применяется только к маркеру пользователя, который его сопоставил. Старые окна не позволят отображать оба токена.

Связанные диски стали устаревшими примерно в 1995 году. Но причудливо они живут. Используйте UNC-имя \\servername\sharename\foldername\filename.ext.

ответил(а) 2018-07-11T13:01:00+03:00 2 года, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема