Доброе время суток всем! Как написать скриптик, который проверял серверы на работу сервисов??? Да так, чтобы если всё работает, никаких действий не происходит... Если упал, до посылал сообщение о его бездействии??
» Автоматизация администрирования. Часть 2
Ребята как к[more=этому скрипту]
Цитата:
[/more] еще имена компьютеров приделать очень удобный скриптик
Цитата:
Выгрузка даных о пользователях из Active Directory в Excel
Const ADS_SCOPE_SUBTREE = 2
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Login"
objExcel.Cells(1, 2).Value = "Имя"
objExcel.Cells(1, 3).Value = "Отчество"
objExcel.Cells(1, 4).Value = "Фамилия"
objExcel.Cells(1, 5).Value = "Выводимое Имя"
objExcel.Cells(1, 6).Value = "Описание"
objExcel.Cells(1, 7).Value = "Комната"
objExcel.Cells(1, 8).Value = "Номер телефона"
objExcel.Cells(1, 9).Value = "Эл. почта"
objExcel.Cells(1, 10).Value = "Улица"
objExcel.Cells(1, 11).Value = "Город"
objExcel.Cells(1, 12).Value = "Область"
objExcel.Cells(1, 13).Value = "Индекс"
objExcel.Cells(1, 14).Value = "Страна"
objExcel.Cells(1, 15).Value = "Должность"
objExcel.Cells(1, 16).Value = "Отдел"
objExcel.Cells(1, 17).Value = "Организация"
objExcel.Cells(1, 18).Value = "distinguishedname"
objExcel.Cells(1, 19).Value = "cn"
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 100
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT cn, canonicalname, distinguishedname,sAMAccountName,givenName, initials, SN, displayName, description, "_
& "physicalDeliveryOfficeName, telephoneNumber,mail, streetAddress, l ,st, postalCode, " _
& "c, title, department, company FROM " _
& "'LDAP://dc='Имя домена',dc=local' WHERE " _
& "objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
x = 2
Do Until objRecordSet.EOF
objExcel.Cells(x, 1).Value = objRecordSet.Fields("sAMAccountName").Value
objExcel.Cells(x, 2).Value = objRecordSet.Fields("givenName").Value
objExcel.Cells(x, 3).Value = objRecordSet.Fields("initials").Value
objExcel.Cells(x, 4).Value = objRecordSet.Fields("SN").Value
objExcel.Cells(x, 5).Value = objRecordSet.Fields("displayName").Value
objExcel.Cells(x, 6).Value = objRecordSet.Fields("description").Value
objExcel.Cells(x, 7).Value = objRecordSet.Fields("physicalDeliveryOfficeName").Value
objExcel.Cells(x, 8).Value = objRecordSet.Fields("telephoneNumber").Value
objExcel.Cells(x, 9).Value = objRecordSet.Fields("mail").Value
objExcel.Cells(x, 10).Value = objRecordSet.Fields("streetAddress").Value
objExcel.Cells(x, 11).Value = objRecordSet.Fields("l").Value
objExcel.Cells(x, 12).Value = objRecordSet.Fields("st").Value
objExcel.Cells(x, 13).Value = objRecordSet.Fields("postalCode").Value
objExcel.Cells(x, 14).Value = objRecordSet.Fields("c").Value
objExcel.Cells(x, 15).Value = objRecordSet.Fields("title").Value
objExcel.Cells(x, 16).Value = objRecordSet.Fields("department").Value
objExcel.Cells(x, 17).Value = objRecordSet.Fields("company").Value
objExcel.Cells(x, 18).Value = objRecordSet.Fields("distinguishedname").Value
objExcel.Cells(x, 19).Value = objRecordSet.Fields("cn").Value
x = x + 1
objRecordSet.MoveNext
Loop
Set objRange = objExcel.Range("A1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("B1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("C1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("D1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("E1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("F1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("G1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("H1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("I1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("J1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("K1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("L1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("M1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("N1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("O1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("P1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("Q1")
objRange.Activate
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.ActiveCell.EntireColumn
objRange.Autofit()
Set objRange = objExcel.Range("A1").SpecialCells(11)
Set objRange2 = objExcel.Range("C1")
Set objRange3 = objExcel.Range("A1")
objExcel.Quit
[/more] еще имена компьютеров приделать очень удобный скриптик
---
Удалено
---
Удалено
---
aar
Попробуй в начала скрипта поставить строку:
On Error Resume Next
Refugee
Скачал я VBScript obfuscator - но честно говоря он слишком сложен. Я чето так и не догнал, как им пошифровать файл. Блин, лучшеб они console application сделали без всяких выгибонов.
То что VBScript запечатанный MS Encoder-ом можно прочитать и дешифровать знают те, кто умеет писать VBS скрипты. Мне же нужно защитить скрипт от изменения кухарками, так, чтоб пути они потом на свои не могли поменять. Так что, если сможете помочь в пользовании утилитой от MS - буду очень признателен (хотя я вам и так очень признателен).
Впринципе, подойдет любая другая прога которая сможет скрыть код скрипта от изменения и прочтения неискушенным пользователем.
Спасибо
Попробуй в начала скрипта поставить строку:
On Error Resume Next
Refugee
Скачал я VBScript obfuscator - но честно говоря он слишком сложен. Я чето так и не догнал, как им пошифровать файл. Блин, лучшеб они console application сделали без всяких выгибонов.
То что VBScript запечатанный MS Encoder-ом можно прочитать и дешифровать знают те, кто умеет писать VBS скрипты. Мне же нужно защитить скрипт от изменения кухарками, так, чтоб пути они потом на свои не могли поменять. Так что, если сможете помочь в пользовании утилитой от MS - буду очень признателен (хотя я вам и так очень признателен).
Впринципе, подойдет любая другая прога которая сможет скрыть код скрипта от изменения и прочтения неискушенным пользователем.
Спасибо
Народ, а как из eventlog'а (журнала событий) получить последнее сообщение с определённым ID?
Real Root
например, stunnix obfuscator по второй ссылке гугля
"C:\Program Files\Stunnix-VBScript-Obfuscator\bin\vbs-obfus.pl" -O wsh la.vbs -o ola.vbs
породил следующее: [more]
(текст записать в файл ola.uue и открыть винраром)
section 1 of 1 of file ola.rar < MxUUE v0.6.4 (c) 1999-2001 Maxxi >
begin 644 ola.rar
M4F%R(1H'`,^0<P``#0````````#UTW0@D"P`*@,``)\*```".ZH(B@,'QS@=
M,P<`(````&]L82YV8G,`\$]@7P@=C,S-&]7;XK#!<6EU"-QR-N!?XQ==W4,;
MO3W;C@[^."R1SM`MEO:R]KOO?II;?36S9VO6-.CVX._ZT)$T_$EXO&Y'/C37
MB2?B:2:1^?@D>?AB^"(T(CST(L\DF#&YHR]_W_>CDM0J8<NN9YT9H\.5.>A0
MBP,W_P]XOPV/X]:<&L/8>PJQ.>9DKAO84YV=ISNR0#$)V78#Z?YJC/UV3]:L
M!]_:H%R_HOU1=J/EU9(N?J^$0IXXK%4_?QY:/'AEZX.Q[#Z2]S?3H\/\<L;Q
M&/!T;LDRGFYJ,6_KL*N`.!H'TCRA\Y/B!(4M.%.L@<8(NZYOK128OI3H(U0U
M4-6MJ0F[HI=:Q/NW!:]<(()1[.N$K`K(V5DXEN!FRY+V*[I_P/UM%)Y#=_UL
M$=Q+?"C:@02-GJ*-5)!2I5SD>JO]-*+F6+,%MM1XUEQY9#4*"['@528%L++H
M[]X`5`+^-4O`KA)8M2PH;54"P,MH?V6:WHVJ*P']PU`B.[4P:1O`H=:7+7</
MN:U`D,+6RV-=P79?\NE;[I;ZU>&E`G)@/0VE;4=/04-71BOM2V-ULC`6NC37
MEH(^NF$`1C@HK;9M`5`*U@7)CMBB1L+J;H:H?#LO7LZVR+J'[W4VWDOSK?,+
M3WK)Q`%>KT?$TH8_X-.\].<7JK;<"[7B3O]WPW#BS&(R?$B/T+=W"!P<6:6"
MF#*>GL6^->50.`HO%[W*X3<#N$IY6Y<\\=$V2=/(E/(L4A(JK'K/G"HE(>(T
MIX]HY)L:<X0HA2>II1'YM8]'LJ*)UXCNGT6VVDV;*\:$([=%MSDA"*NS3YJ.
M^SQ2I=)YN3\)*)I7&(:SR]S\B+8R/OW.7YRE?M.4=R)X0UBZ'!RXYI&+!S!J
ME4"-$U#B2RC%F1_;)V$%N!R;B3:)$#ML[IO(?FXK7!14S,KYR;!?A#@K1*YB
MV)HCY4F>$4<1-N=JX0X+K0V\4M75+C!\%:9TX"/6TV8:"WL<Q4V?B@-:^!,)
ML?U*_-F/!/1KE9:M>GZ?R5_3R.32PXLF3+"';\8D^\/PW)A#ND7\W[3^'*NU
:_1=9"LS>OZ5F-^5/=JV/#C5?^<0]>P!`!P"'
`
end
sum -r/size 38247/1240 section (from "begin" to "end")
sum -r/size 31253/881 entire input file
[/more]
например, stunnix obfuscator по второй ссылке гугля
"C:\Program Files\Stunnix-VBScript-Obfuscator\bin\vbs-obfus.pl" -O wsh la.vbs -o ola.vbs
породил следующее: [more]
(текст записать в файл ola.uue и открыть винраром)
section 1 of 1 of file ola.rar < MxUUE v0.6.4 (c) 1999-2001 Maxxi >
begin 644 ola.rar
M4F%R(1H'`,^0<P``#0````````#UTW0@D"P`*@,``)\*```".ZH(B@,'QS@=
M,P<`(````&]L82YV8G,`\$]@7P@=C,S-&]7;XK#!<6EU"-QR-N!?XQ==W4,;
MO3W;C@[^."R1SM`MEO:R]KOO?II;?36S9VO6-.CVX._ZT)$T_$EXO&Y'/C37
MB2?B:2:1^?@D>?AB^"(T(CST(L\DF#&YHR]_W_>CDM0J8<NN9YT9H\.5.>A0
MBP,W_P]XOPV/X]:<&L/8>PJQ.>9DKAO84YV=ISNR0#$)V78#Z?YJC/UV3]:L
M!]_:H%R_HOU1=J/EU9(N?J^$0IXXK%4_?QY:/'AEZX.Q[#Z2]S?3H\/\<L;Q
M&/!T;LDRGFYJ,6_KL*N`.!H'TCRA\Y/B!(4M.%.L@<8(NZYOK128OI3H(U0U
M4-6MJ0F[HI=:Q/NW!:]<(()1[.N$K`K(V5DXEN!FRY+V*[I_P/UM%)Y#=_UL
M$=Q+?"C:@02-GJ*-5)!2I5SD>JO]-*+F6+,%MM1XUEQY9#4*"['@528%L++H
M[]X`5`+^-4O`KA)8M2PH;54"P,MH?V6:WHVJ*P']PU`B.[4P:1O`H=:7+7</
MN:U`D,+6RV-=P79?\NE;[I;ZU>&E`G)@/0VE;4=/04-71BOM2V-ULC`6NC37
MEH(^NF$`1C@HK;9M`5`*U@7)CMBB1L+J;H:H?#LO7LZVR+J'[W4VWDOSK?,+
M3WK)Q`%>KT?$TH8_X-.\].<7JK;<"[7B3O]WPW#BS&(R?$B/T+=W"!P<6:6"
MF#*>GL6^->50.`HO%[W*X3<#N$IY6Y<\\=$V2=/(E/(L4A(JK'K/G"HE(>(T
MIX]HY)L:<X0HA2>II1'YM8]'LJ*)UXCNGT6VVDV;*\:$([=%MSDA"*NS3YJ.
M^SQ2I=)YN3\)*)I7&(:SR]S\B+8R/OW.7YRE?M.4=R)X0UBZ'!RXYI&+!S!J
ME4"-$U#B2RC%F1_;)V$%N!R;B3:)$#ML[IO(?FXK7!14S,KYR;!?A#@K1*YB
MV)HCY4F>$4<1-N=JX0X+K0V\4M75+C!\%:9TX"/6TV8:"WL<Q4V?B@-:^!,)
ML?U*_-F/!/1KE9:M>GZ?R5_3R.32PXLF3+"';\8D^\/PW)A#ND7\W[3^'*NU
:_1=9"LS>OZ5F-^5/=JV/#C5?^<0]>P!`!P"'
`
end
sum -r/size 38247/1240 section (from "begin" to "end")
sum -r/size 31253/881 entire input file
[/more]
Refugee
Чето я вобще туплю.
"C:\Program Files\Stunnix-VBScript-Obfuscator\bin\vbs-obfus.pl" -O wsh la.vbs -o ola.vbs - Это нужно в консоли набирать?
И проканает ли все это на trial версии?
Вобще, у меня в папке bin нету файла vbs-obfus.pl, там есть только vbs-obfus.pl. Я пытался ему подставить расширение pl, но этот тип файлов не зарегистрирован у меня в системе. Пытался связать pl файлы с perl.exe - ничего не вышло.
Поэтому я так и не догнал как пошифровать мой скрипт.
Еще раз обращаю внимание на то, что Stunnix VBS-Obfus version 3.6 не зарегистрированная trial версия.
Добавлено:
Refugee
Кажись разобрался. Вся проблема у меня в том, что у меня именно trial версия. Как оказалось, она просто заменят имена объектов на ReplacementFor_ - а такой результат я уже получал.
Вобщем пошел покупать прогу.
Чето я вобще туплю.
"C:\Program Files\Stunnix-VBScript-Obfuscator\bin\vbs-obfus.pl" -O wsh la.vbs -o ola.vbs - Это нужно в консоли набирать?
И проканает ли все это на trial версии?
Вобще, у меня в папке bin нету файла vbs-obfus.pl, там есть только vbs-obfus.pl. Я пытался ему подставить расширение pl, но этот тип файлов не зарегистрирован у меня в системе. Пытался связать pl файлы с perl.exe - ничего не вышло.
Поэтому я так и не догнал как пошифровать мой скрипт.
Еще раз обращаю внимание на то, что Stunnix VBS-Obfus version 3.6 не зарегистрированная trial версия.
Добавлено:
Refugee
Кажись разобрался. Вся проблема у меня в том, что у меня именно trial версия. Как оказалось, она просто заменят имена объектов на ReplacementFor_ - а такой результат я уже получал.
Вобщем пошел покупать прогу.
Real Root
конечно, в консоли
vbs-obfus.pl - это переименованный vbs-obfus; можно было просто запускать perl vbs-obfus
у меня стоит ActiveState Perl
триал, судя по комментариям в файле, не имеет некоторых фишек.
Добавлено:
надо сделать список идентификаторов (-D file), оставить там только библиотечные и передать его обфускатору (--excludeidentsfile file)
конечно, в консоли
vbs-obfus.pl - это переименованный vbs-obfus; можно было просто запускать perl vbs-obfus
у меня стоит ActiveState Perl
триал, судя по комментариям в файле, не имеет некоторых фишек.
Добавлено:
надо сделать список идентификаторов (-D file), оставить там только библиотечные и передать его обфускатору (--excludeidentsfile file)
Refugee
Что значит оставить только библиотечные идентификаторы? Я в VBS скриптах пока что нуль полный - так что извиняй.
Да и что-то слишком туго они мне даются. Установил ActiveState Perl 7.2 - набор с варезника. После установки ни одно из приложений пакета не стартует - говорит Perl не найден. Сейчас все антивири удалил, да и вобще все что можно (в т.ч. и VBS Obfus и сам Perl) - надо перезагружаться - потом заново попробую - надеюсь поможет.
Но, ИМХО, раз с таким запорками дело начинается, то потом проще будет. Надеюсь
Что значит оставить только библиотечные идентификаторы? Я в VBS скриптах пока что нуль полный - так что извиняй.
Да и что-то слишком туго они мне даются. Установил ActiveState Perl 7.2 - набор с варезника. После установки ни одно из приложений пакета не стартует - говорит Perl не найден. Сейчас все антивири удалил, да и вобще все что можно (в т.ч. и VBS Obfus и сам Perl) - надо перезагружаться - потом заново попробую - надеюсь поможет.
Но, ИМХО, раз с таким запорками дело начинается, то потом проще будет. Надеюсь
rosalin
Цитата:
кто за каким сидит или просто компы вытащить из AD?
Цитата:
имена компьютеров
кто за каким сидит или просто компы вытащить из AD?
народ!
нужен скрип который бы мониторил бы DHCP на предмет появления новых адресов.
пересмотрел обе ветки этого топика но ничего ненашел
нужен скрип который бы мониторил бы DHCP на предмет появления новых адресов.
пересмотрел обе ветки этого топика но ничего ненашел
люди, подскажите, а как авторизоваться у LDAP провайдера?
и вообще, какие провы поддерживают авторизацию?
чет роюсь, роюсь.... без толку
пристрелите меня линком =)
и вообще, какие провы поддерживают авторизацию?
чет роюсь, роюсь.... без толку
пристрелите меня линком =)
Teo
Вот пример поискового запроса к AD с авторизацией
Может чем поможет
Код:
'Настраиваем соединение перед открытием
Set con = CreateObject("ADODB.Connection")
Set Com = CreateObject("ADODB.Command")
con.Provider = "ADsDSOObject"
'Если необходимо подключиться от имени другой учетной записи, можно
'настроить дополнительные свойства:
'con.Properties("User ID") = strDomain + "\" + strUserID
'con.Properties("Password") = strPassword
'Открываем соединение со службой каталогов
con.Open "Active Directory Provider"
'Затем настраиваем объект команды
Set Com.ActiveConnection = con
Com.CommandText = "<LDAP://DC=home,DC=local>;" & _
"(&(objectClass=user)(objectcategory=person));AdsPath, cn,sAMAccountName;subTree"
'И выполняем ее
Set rs = Com.Execute
'Затем проходим циклом по объекту Recordset и выводим нужные значения
Do While rs.EOF = False
Wscript.Echo rs.Fields("AdsPath") & vbTab & _
rs.Fields("cn")& vbTab & rs.Fields("sAMAccountName")
rs.MoveNext
Loop
Вот пример поискового запроса к AD с авторизацией
Может чем поможет
Код:
'Настраиваем соединение перед открытием
Set con = CreateObject("ADODB.Connection")
Set Com = CreateObject("ADODB.Command")
con.Provider = "ADsDSOObject"
'Если необходимо подключиться от имени другой учетной записи, можно
'настроить дополнительные свойства:
'con.Properties("User ID") = strDomain + "\" + strUserID
'con.Properties("Password") = strPassword
'Открываем соединение со службой каталогов
con.Open "Active Directory Provider"
'Затем настраиваем объект команды
Set Com.ActiveConnection = con
Com.CommandText = "<LDAP://DC=home,DC=local>;" & _
"(&(objectClass=user)(objectcategory=person));AdsPath, cn,sAMAccountName;subTree"
'И выполняем ее
Set rs = Com.Execute
'Затем проходим циклом по объекту Recordset и выводим нужные значения
Do While rs.EOF = False
Wscript.Echo rs.Fields("AdsPath") & vbTab & _
rs.Fields("cn")& vbTab & rs.Fields("sAMAccountName")
rs.MoveNext
Loop
Цитата:
защитить скрипт от изменения
да для этой цели шифрование -- эта просто супер решение )
дай права только на чтение и все ЫЫЫЫЫЫЫЫ
подскажите пожалуйста скрипт, которым можно прописать сетевые принтеры!
чтобы можно было его добавить в GPO на пользователей и он им автоматом подрубал принтеры.
чтобы можно было его добавить в GPO на пользователей и он им автоматом подрубал принтеры.
Ребята подскажите какой лучше скриптик что бы при выходе из домена запускалась программа допустип spoolercleaner.exe -all и где файл spoolercleaner.exe лучше расположить.....
помогите, пожалуйста, добить код...
Цитата:
@echo off
setlocal
for /f "tokens=5 delims=:" %%i in ('FINDSTR /I "Status:" log.txt') do set aaa=%%i
if NOT %aaa%==OPTIMAL (
sendmail -t < warning.mail
ECHO WARNING %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
) else (
ECHO OK %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
)
pause
Если процессы в системный лог пишут ошибку, тогда вызов blat(sendmail), весится на команду eventtriggers и отправляет сообщение о том, какой сервис полетел
Цитата:
@echo off
setlocal
for /f "tokens=5 delims=:" %%i in ('FINDSTR /I "Status:" log.txt') do set aaa=%%i
if NOT %aaa%==OPTIMAL (
sendmail -t < warning.mail
ECHO WARNING %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
) else (
ECHO OK %date% %TIME:~0,8%>>\\Computer\report$\alertlog.txt
)
pause
Если процессы в системный лог пишут ошибку, тогда вызов blat(sendmail), весится на команду eventtriggers и отправляет сообщение о том, какой сервис полетел
voffka1984
Код: Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1320"
Код: Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1320"
Цитата:
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1320"
а если несколько .....
и можно подсказать по моему вопросику плиз
Цитата:
подскажите какой лучше скриптик что бы при выходе из домена запускалась программа допустип spoolercleaner.exe -all и где файл spoolercleaner.exe лучше расположить.....
aleksanchez , спасибо. а как его ещё и сделать по умолчанию?!
и можно ли перед этим удалить все принтеры которые уже есть?!
и можно ли перед этим удалить все принтеры которые уже есть?!
voffka1984
рой в сторону "управление печатью" - "развернуть с помощью групповой политики". PushPrinterConnections.exe - в GPO в сценарии автозагрузки компа/юзера
рой в сторону "управление печатью" - "развернуть с помощью групповой политики". PushPrinterConnections.exe - в GPO в сценарии автозагрузки компа/юзера
А несколько будет вот так:
Код: Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1320"
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1110"
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj"
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj13"
'Устанавливаем по умолчанию принтер
WshNetwork.SetDefaultPrinter ("\\192.168.0.1\hplj1320")
Код: Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1320"
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj1110"
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj"
WshNetwork.AddWindowsPrinterConnection "\\192.168.0.1\hplj13"
'Устанавливаем по умолчанию принтер
WshNetwork.SetDefaultPrinter ("\\192.168.0.1\hplj1320")
YNY
НЕТ,
1) Юзеры могут права поменять.
2) От прочтения тоже нужно защитить, т.к. его можно скопировать.
Когда я говорил о защите от изменения, это чтоб потом не могли к дургой ситуации применять - поэтому нужно минимальное шифрование, ибо люди там без базового образования.
4aplin
Я что-то так и не понял что тебе нужно, но для начала посоветовал бы имена переменным давать с некоторым смыслом.
Цитата:
Да, и как я понял переменная %aaa% принимает строковое значение (String), и ты хочешь проверить, не равно ли оно OPTIMAL. Если да, то сравнение производиться так:
if NOT "%aaa%"=="OPTIMAL"
Еще совет, лучше используй отложенное разъименование команд
Во-первых, переменные будут подставляться немедленно, а во-вторых повыситься удобочитаемость скриптов (будет хорошо видно переданные скрипту параметры):
Вот пример:
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
IF NOT "!aaa!"=="OPTIMAL"
НЕТ,
1) Юзеры могут права поменять.
2) От прочтения тоже нужно защитить, т.к. его можно скопировать.
Когда я говорил о защите от изменения, это чтоб потом не могли к дургой ситуации применять - поэтому нужно минимальное шифрование, ибо люди там без базового образования.
4aplin
Я что-то так и не понял что тебе нужно, но для начала посоветовал бы имена переменным давать с некоторым смыслом.
Цитата:
if NOT %aaa%==OPTIMAL
Да, и как я понял переменная %aaa% принимает строковое значение (String), и ты хочешь проверить, не равно ли оно OPTIMAL. Если да, то сравнение производиться так:
if NOT "%aaa%"=="OPTIMAL"
Еще совет, лучше используй отложенное разъименование команд
Во-первых, переменные будут подставляться немедленно, а во-вторых повыситься удобочитаемость скриптов (будет хорошо видно переданные скрипту параметры):
Вот пример:
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
IF NOT "!aaa!"=="OPTIMAL"
aleksanchez
Вот спасибо выручил
Вот спасибо выручил
Подскажите пожалуйста, как в VBS скрипте узнать путь к папке Program Files?
Мне нужно в скрипте проверять наличие определенной папки Folder в папке Program Files
Я это делаю так:
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists("C:\Program Files\Folder\")) Then ...
Все прекрасно работает. Но, нужна универсальность.
Т.е. желательно бы вместо C:\Program Files\ использовать %programfiles% - но такой способ в fso.FolderExists не работает. Нужен обходной путь.
Я пытался создать переменную Folder и впихнуть туда путь к папке Program Files, но метод GetSpecialFolder не может возвращать путь к Program Files (хотя, может и может - но я не знаю)
Вот пример:
Folder = Folder.GetSpecialFolder(0) - возвращает C:\Windows
1 - SystemFolder
2 - Temp Folder
Вобщем нужен способ узнать путь к Program Files
Мне нужно в скрипте проверять наличие определенной папки Folder в папке Program Files
Я это делаю так:
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists("C:\Program Files\Folder\")) Then ...
Все прекрасно работает. Но, нужна универсальность.
Т.е. желательно бы вместо C:\Program Files\ использовать %programfiles% - но такой способ в fso.FolderExists не работает. Нужен обходной путь.
Я пытался создать переменную Folder и впихнуть туда путь к папке Program Files, но метод GetSpecialFolder не может возвращать путь к Program Files (хотя, может и может - но я не знаю)
Вот пример:
Folder = Folder.GetSpecialFolder(0) - возвращает C:\Windows
1 - SystemFolder
2 - Temp Folder
Вобщем нужен способ узнать путь к Program Files
Привет коллеги!
Есть задача: забывчивые "маму иху" юзвери забывают выходить из 1С-ки.
Я написал простенький скрипт по убийству процесса 1Cv7(бла-бла-бла).exe
Как мне его прописать на всех компах домена, чтобы он отрабатывался, скажем в 22-25 (за 5 минут до начала бэкапа)?
Или предложите рабочее решение... V7Backup - не совсем стабильно работает... уж и не знаю почему - но архивация часто сбивается и просто не делается архив.
Вобщем, бумаю вопрос озвучи и общую мысль обрисовал...
"Бен! Бен! Это Данила!!! Ай.. Нид... Хелп!!!" (c)
Есть задача: забывчивые "маму иху" юзвери забывают выходить из 1С-ки.
Я написал простенький скрипт по убийству процесса 1Cv7(бла-бла-бла).exe
Как мне его прописать на всех компах домена, чтобы он отрабатывался, скажем в 22-25 (за 5 минут до начала бэкапа)?
Или предложите рабочее решение... V7Backup - не совсем стабильно работает... уж и не знаю почему - но архивация часто сбивается и просто не делается архив.
Вобщем, бумаю вопрос озвучи и общую мысль обрисовал...
"Бен! Бен! Это Данила!!! Ай.. Нид... Хелп!!!" (c)
Real Root
Можно так:
Set WshShell = CreateObject("WScript.Shell")
ProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")
Вместо ProgramFiles можно использовать любую переменную среды окружения
Список досупных переменных можно посмотреть выполнив команlу Set (Пуск - Выполнить - CMD - Set)
Можно так:
Set WshShell = CreateObject("WScript.Shell")
ProgramFiles = WshShell.ExpandEnvironmentStrings("%ProgramFiles%")
Вместо ProgramFiles можно использовать любую переменную среды окружения
Список досупных переменных можно посмотреть выполнив команlу Set (Пуск - Выполнить - CMD - Set)
Real Root
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("PROCESS")
WScript.Echo WshSysEnv("ProgramFiles")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("PROCESS")
WScript.Echo WshSysEnv("ProgramFiles")
ManBot
Как вариант выполнить команду:
at \\comp_name 22:25 /every:M,T,W,Th,F \\server\share\kill_1c.bat
Находишь список всех компов в домене и вместо \\comp_name подставляешь нужные компы, либо в логон через ГПО нужным компам
at 22:25 /every:M,T,W,Th,F \\server\share\kill_1c.bat
но нужно делать проверку, если есть задача - не выполнять, а то задублируются
Как вариант выполнить команду:
at \\comp_name 22:25 /every:M,T,W,Th,F \\server\share\kill_1c.bat
Находишь список всех компов в домене и вместо \\comp_name подставляешь нужные компы, либо в логон через ГПО нужным компам
at 22:25 /every:M,T,W,Th,F \\server\share\kill_1c.bat
но нужно делать проверку, если есть задача - не выполнять, а то задублируются
Real Root
Юзеры могут права поменять.ибо люди там без базового образования.
-- 2 противоречивых пояснения,
-- ранее на форуме я говорил, что для скрытия текста скрипта мона использовать потоки NTFS 5
Юзеры могут права поменять.ибо люди там без базового образования.
-- 2 противоречивых пояснения,
-- ранее на форуме я говорил, что для скрытия текста скрипта мона использовать потоки NTFS 5
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
Предыдущая тема: BackUp Win2003Serer
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.