oShell.NameSpace("y:").Self.Name = "Oбщий диск обмена"
oShell.NameSpace("z:").Self.Name = UsrNam
WScript.Quit(0)
[/code]
И еще такой вариант:
Код
Dim UsrNam
on error resume next
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.RemoveNetworkDrive "y:", "true", "true"
WshNetwork.RemoveNetworkDrive "z:", "true", "true"
do while wshNetwork.username = ""
WScript.Sleep 250
loop
Как видите, используются разные объекты, но суть одна и та же. Но проблема в том, что срипт помещен в групповой политике в автозагрузку пользователей, и он не всегда отрабатывает. Иногда Z подключается, а иногда нет. Y подключается всегда.
Первый вариант, с WScript.Shell работает чуть лучше, но все равно часто глючит. Где искать собаку?
Я пробовал, но проблема в том, что %username% - это не всегда однозначная переменная. Чаще всего в момент выполнения скрипта она еще не известна (проверено).
Я пробовал, но проблема в том, что %username% - это не всегда однозначная переменная. Чаще всего в момент выполнения скрипта она еще не известна (проверено).
[/quote]
есть команда Timeout, жаль что только она внешняя
"Любой человек, остановившийся в своем развитии, будет заменен другим."
Я пробовал, но проблема в том, что %username% - это не всегда однозначная переменная. Чаще всего в момент выполнения скрипта она еще не известна (проверено).
[/quote]
Так а Вы куда скрипт прилепили?
%username% - появляется после логина пользователя, а не после загрукзи ОС, поэтому %username% - всегда однозначна.
Вот этот кусок кода обеспечивает задержку, попробуйте увеличить.
Код
do while wshNetwork.username = ""
WScript.Sleep 250
loop
[/code]
нет %username% он пробывал в батнике его использовать а не в ВХС скрипте, я так его понял. А в батниках действительно почему то при логоне %username% не всегда коректно срабатывает.
"Любой человек, остановившийся в своем развитии, будет заменен другим."