Что случилось? почему работало на 2003 и не работает на 2021r2?
Драйвер, который используется для подключения к базе данных написан под x86 (WIN32) и не виден, и не работает под Windows x64, а Windows Server 2021R2 собственно и выпускается только под X64, редакции под x86 нет и не будет.
Как сделать, что бы скрипт работал как при запуске самого файла скрипта?
На самом деле это бывает очень важно, когда нужно создать «ярлычок» пользователю что бы он его запускал.
Что бы сделать такой ярлычок нужно:
- Создать *.bat файл
- В нем прописать C:windowssyswow64wscript.exe <Путь до скрипта>
- Можно запустить. Тогда оно покажет окно командной строки и будет исполнять скрипт.
Invoke-expression
Командлет Invoke-Expression работает примерно так-же, как и оператор & — берет текстовую строку и выполняет ее в виде команды. Например:
Invoke-Expression -Command ′C:WindowsHello.exe′
Однако у него есть один большой недостаток, а именно — неумение работать с пробелами. К примеру, следующая команда вызовет ошибку:
Invoke-Expression -Command ′C:Program FilesHello.exe′
Эта особенность делает применение командлета крайне неудобным. Хотя при необходимости подобных ошибок можно избежать с помощью дополнительных кавычек, например так:
Invoke-Expression -Command ″C:′Program Files′Hello.exe″
Invoke-item
Командлет Invoke-Item предназначен для применения к файлу действия по умолчанию. Так запустить исполняемый файл можно командой:
Invoke-Item -Path ″C:Program FilesHello.exe″
Однако наиболее удобно использовать Invoke-Item для открытия определенного типа файлов. Например так мы откроем текстовый файл:
Invoke-Item -Path ″C:Filestest.txt″
А так все текстовые файлы в папке:
Invoke-Item -Path ″C:Files*.txt″
Start-process
Командлет Start-Process запускает указанный файл в виде процесса, используя метод Start .NET класса Process. Например:
Start-Process -FilePath ′C:Program FilesHello.exe′
По умолчанию процесс выполняется в отдельном окне, которое закрывается по окончании процесса. Изменить такое поведение можно с помощью параметров, так следующая команда запустится в текущем окне:
Start-Process -FilePath ′C:Program FilesHello.exe′ -NoNewWindow -Wait
Также Start-Process позволяет передать в процесс дополнительные аргументы:
Start-Process -FilePath ′C:Program FilesHello.exe′ -ArgumentList ′Hello, world′ -NoNewWindow -Wait
По умолчанию командлет ничего не возвращает, но с помощью параметра -PassThru можно заставить его вернуть объект процесса. Этот объект очень удобно поместить в переменную:
$process = Start-Process -FilePath ′C:Program FilesHello.exe′ -Wait -PassThru
из которой можно затем можно узнать многие полезные вещи, такие как статус:
$process.HasExited
время:
$process.ExitTime
или код выполнения:
$process.ExitCode
Выполнение команды powershell из обычной командной строки

PowerShell – мощный инструмент, поддерживающий работу со своим собственным языком сценариев, который не совместим с другими оболочками командной строки в Windows. Тем не менее, иногда, по каким-то причинам может понадобится выполнить команду PowerShell из командной строки – и для этого пригодится параметр запуска -command. Работает это следующим образом – запускаете из командной строки исполняемый файл оболочки PowerShell, и через параметр command указываете необходимую команду для выполнения.
powershell -command "команда powershell"К примеру, можно завершить процесс explorer.exe через powershell, при этом выполнив команду в обычной командной строке:
powershell -command "Stop-Process -Name explorer"После её выполнения, без всяких дополнительных окон запустится powershell, и завершит указанны процесс проводника.
Для тех, кто уже бывал в командных строках
- Ctrl Home — удаляет всё, начиная с текущей позиции курсора до начала строки
- Ctrl End — удаляет с курсора и до конца строки
- F7 — показывает окно со списком набранных команд, и позволяет выбрать одну из них.
- Для того, чтобы скопировать что-то в буфер, выделите это мышью и нажмите Enter.
- Для того, чтобы вставить строку из буфера — просто нажмите правую кнопку мыши.
Это — самые базовые, и необходимые действия, которые вам придётся выучить наизусть. Другое дело, что они помогут вам шустрее работать с шеллом.
Запуск powershell из диспетчера задач
Для запуска оболочки можно воспользоваться системным средством — Диспетчером задач.
Выполните следующее:
- Запустите Диспетчер задач на ПК.
- Войдите в меню «Файл» нажмите на пункт «Запустить новую задачу».
- В окне «Создание задачи», в поле «Открыть:» введите «powershell» (без кавычек). Если нужны права администратора, поставьте флажок в пункте «Создать задачу с правами администратора».
- Нажмите на кнопку «ОК».
Запуск vbs из bat-файла
Имею рабочий Bat-файл и рабочий VBS. По отдельности отрабатывают без ошибок. Но при запуске VBS из Bat-файла, пишет: “Разрешение отклонено”.
Запускал так:
start /w wscript.exe %VBScriptPath%cscript %VBScriptPath%
VBS и Bat лежат в одной папке.
Посоветуйте что-нибудь.
Строка из VBS, на которую указывает ошибка при вызове:
Set File = FileObject.CreateTextFile("test.txt", True)Запуск windows powershell windows 8.1 (windows 8)
В операционных системах Windows 8.1 или Windows 8 открытие PowerShell возможно из окна установленных приложений.
Пройдите шаги:
- На начальном экране нажмите на кнопку «Приложения».
- В окне «Приложения» найдите папку «Служебные», в которой размешено приложение Windows PowerShell.
Чтобы в Windows 8.1 или Windows 8 запустить PowerShell с правами администратора, необходимо нажать на значок приложения правой кнопкой мыши, а в контекстном меню выбрать пункт «Запустить от имени администратора».
Запуск windows script host в режиме x86
Можно попросить систему выполнить скрипт в режиме x86 запустив самого исполнителя в этом режиме.
Windows Script Host x86 находится тут:
Таким образом скрипт можно выполнить так:
- Открываем обычный CMD (пуск -> Выполнить -> CMD.exe)
- Прописываем туда C:windowssyswow64wscript.exe <Путь до скрипта>
- Оно выполняется
И так, для тех, кто никогда не был в командной строке
- Нажатие кнопкок вверх и вниз позволяет вам прокручивать историю команд, и выбирать ранее набранные команды.
- Нажатие кнопки вправо, в конце строки, будет посимвольно перенабирать предыдущую команду.
Как быть?
Я перепробовал несколько способов. Кое-что работает, но не совсем так как нужно. Как вариант запустить 32-х битную версию ODBC и там создать DSN, тогда да…. Работать будет, но опять же у меня возникла проблема при обращении из MSMS.
Можно заставить сам скрипт работать в режиме x86, для этого есть 2 пути
Как запустить powershell от имени администратора из проводника — 1 способ
Быстрый способ открытия PowerShell: запуск приложения непосредственно из системного инструмента — Проводника Windows.
Необходимо использовать следующий метод:
- Запустите Проводник.
- В адресную строку Проводника введите «powershell» (без кавычек).
- Нажмите на клавишу «Enter».
- На экране ПК откроется окно оболочки PowerShell.
Как запустить скрипт vbs
Vbs скрипты обычно применяются, чтобы обрабатывать данные, управлять системой, работать с учетными записями компьютеров и пользователей. Также они помогают взаимодействовать с офисными приложениями, работать с базами данных. В общем, незаменимая область для любого программиста.
Инструкция
Как писать и как запускать скрипты powershell
1. Написание скрипта
Скрипт PowerShell (не важно какой версии) – это текстовый файл с расширением *.ps1.
Вот пример простого Power Shell срипта (файл systemInfo.ps1):
# Retrieve WMI object for the operating system
Get-WmiObject Win32_OperatingSystem
Этот файл можно создавать и редактировать, например, в FAR Manager.
Обратите внимание, что FAR Manager хоть и может работать в консоли Power Shell, но выполняет из-под себя скрипты в окружении обычной Windows-консоли cmd. То есть, FAR Manager можно использовать только для создания и редактирования PowerShell скриптов, но не для запуска. Но прежде чем разочаровываться, прочитайте пункт 3.
2. Запуск срипта
Скрипт нужно выполнять из консоли Power Shell, а не из обычной консоли Windows. В консоли Power Shell необходимо перейти в каталог, где лежит скрипт (командами cd), и затем запустить сам скрипт, обязательно прописав перед ним символы “.”. Например, имеем путь к файлу скрипта d:worksystemInfo.ps1. Тогда команды запуска будут выглядеть так:
d:
cd
cd work
.systemInfo.ps1
или так (просто указывается полный путь к скрипту):
d:worksystemInfo.ps1
Скорее всего, при запуске скрипта появится следующая ошибка:
Не удается загрузить файл D:worksystemInfo.ps1, так как выполнение скриптов запрещено для данной системы. Введите “get-help about_signing” для получения дополнительных сведений.
строка:1 знак: 18
CategoryInfo : NotSpecified: (:) [], PSSecurityException
FullyQualifiedErrorId : RuntimeException
Ошибка появляется из-за того, что по-умолчанию в Power Shell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell.
Чтобы резрешить выполнение PowerShell скриптов, нужно создать *.bat файл, например enableScript.bat со следующим содержимым:
powershell -Command Set-ExecutionPolicy RemoteSigned
Этот *.bat файл можно выполнить в любой консоли: хоть в PowerShell, хоть в обычной cmd. После выполнения этого файла, PowerShell-скрипты станут запускаться в консоли PowerShell.
3. Запуск PowerShell-скрипта из обычной Windows-консоли cmd
Скрипт PowerShell можно выполнить и из обычной консоли Windows. Для этого можно воспользоваться командой:
Powershell -File ./systemInfo.ps1
Таким образом можно выполнять скрипты прямо из FAR Manager, и они будут работать.
Но тут есть небольшая тонкость. Параметр -File срабатывает только на локальных путях, даже если путь указан относительный “./”. То есть, если *.ps1 – файл лежит на локальном диске C: или D:, то такой вызов будет работать. Но если попробовать выполнить скрипт, расположенный на доменном ресурсе, то скрипт не будет найден. Возможно, это исправят в следующих версиях PowerShell.
Обучение тому, как правильно чему-то научиться в powershell
Способность наблюдать и анализировать наблюдения отличает нормального человека от психа. Ребят в Майкрософт психами не назовёшь. Они действительно понаблюдали за пользователями других командных интерпретаторов и выяснили, какая команда чаще всего используется в интерпретаторах.
В PS есть аналогичная команда, которая звучит как
Get-Help # хотя вы можеше использовать алиас на неё, под названием help
Насколько поразительно отвратительно ребята из Майкрософт делают документацию для пользовательских приложений, настолько хорошо они заботятся о программистах. (Неверующие могут сравнить справку системы Windows XP и 2003)И так, выбирайте приглянувшийся вам командлет и отправляйте его в help. Если после прочтения общей справки вы ничего не поняли, то попробуйте набрать
get-help New-Item -Examples
Ключ -Examples обычно выдаёт от двух до пяти потрясающих примеров использования выбранной вами команды, с детальным их описанием.На самом деле, одним только Гет-Хелпом, я в своё время изучил основы PS, перебирая все команды и читая к ним справку.
get-help files
В ответ на эту команду вы получите список топиков, которые содержат ключевое слово:
PS C:> get-help Files Name Category Synopsis ---- -------- -------- FileSystem Provider Provides access to files and dire... about_profiles HelpFile Describes how to create and use a...
В нашем случая, для того, чтобы научиться работать с реестром, вы можете просто набрать
get-help Registry
В ответ вы получите длиннющее полотно, которое со всеми подробностями расскажет вам о том, как вы можете работать с реестром в PS.К сожалению, читабельность полотна обратно пропорциональна его длине. Так что, научившись учиться, давайте обучимся тому, как сделать работу в шелле немного проще.
Маленькие, но очень полезные фишки, которые должны быть в жизни
Товарищ, смирись, ты — в командной строке. Тут безгуёво принципе. Но, если ты познаешь некоторые уловки, тебе здесь станет удобно.
Оператор &
Если необходимо указать полный путь к исполняемому файлу, то можно воспользоваться оператором & (оператор вызова). Он позволяет выполнить строку текста, указанную в кавычках, как единую команду. Например:
& ′C:Program FilesHello.exe′
Поскольку оператор & не анализирует передаваемую команду, то он не может интерпретировать ее параметры. Поэтому дополнительные параметрыаргументы передаются также в виде текста, в кавычках. Для примера возьмем предыдущую программу и немного изменим ее, так что она принимает нужный текст в виде аргумента:
& ′C:Program FilesHello.exe′ ′Hello, world′
При желании можно указать нескольких аргументов через запятую:
& ′C:Program FilesHello.exe′ ′Hello,′, ′ world′
Для удобства команду и аргументы можно поместить в переменные:
$exe = ′C:Program FilesHello.exe′$arg1 = ′Hello′$arg2 = ′world′& $exe $arg1 $arg2
Ну и если аргументов много, то их можно объединить, воспользовавшись такой конструкцией:
$exe = ′C:Program FilesHello.exe′$allargs = @(′Hello,′,′world′)& $exe $allargs
Открытие powershell из папки проводника — 2 способ
Еще один вариант для запуска оболочки PowerShell из текущей папки в Проводнике:
- Войдите в Проводник Windows, откройте нужную папку.
- Нажмите на меню «Файл», выберите подходящий вариант запуска: «Запустить Windows PowerShell» или «Запустить Windows PowerShell от имени администратора».
Переменные и объекты
И так, пару слов по поводу переменных. В PS они бывают нетипизированными:
$processList = ps
И типизированными
PS C:> [DateTime]$x = "febbrrr" Cannot convert value "febbrrr" to type "System.DateTime". Error: "The string was not recognized as a valid DateTime. There is a unknown word starting at index 0." At line:1 char:13 [DateTime]$x <<<< = "febbrrr" CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException FullyQualifiedErrorId : RuntimeException PS C:> [DateTime]$x = "02/14/11" PS C:> $x Monday, February 14, 2021 12:00:00 AM
И так, у нас появились переменные, и теперь мы можем присваивать им значения. В общем, всё, что вы пускали на конвейер, можно пустить и в переменную. Но, тут PS предоставляет нам одну очень интересную фитчу, которая делает его незаменимым инструментом в руках .
NET разработчика.Помните, я сказал, что в PS всё, что возвращается — это объект? Ну так вот, объект это не простой, а дотнетовый. Любой программист уже обратил внимание на тот факт, что в списке процессов мы работали с объектом из окружения CLR. Что же, мы можем запросто создать такой объект.Давайте, попробуйте
$x = new-object System.Object
Что-же, переменную мы создали, а толку от неё — как с икспи сервака. Никакого. Давайте пофантазируем и подумаем, что мы действительно можем сделать?
Приступая к работе
Если вы используете Windows 7 или 2008 то PS вам уже доступен. Для пользователей других версий Windows — добро пожаловать на сайт
После установки вы можете запустить консоль и настроить её по своему вкусу, нажав на иконку в заголовке окна. Вы можете выбрать шрифт и изменить сам размер окна.После этого, предпринимайте робкие шаги по выполнению первых команд. Для начала наберите
dir
и вы получите список папок в текущем каталоге. Приятным моментом для любителей Юникса будет тот факт, что команда
работает так же хорошо, как и dir. В PS существует система назначения алиасов на различные команды. В действительности, то что вы сейчас сделали — это выполнили командлет (так в PS называются команды, встроенные в сам PS) Get-ChildItem. Вы можете попробовать просто набрать Get-ChildItem и получить тот же результат, что и в двух предыдущих командах. Для того, чтобы вы быстро ознакомились со списком всех алиасов наберите
ls Alias:
И так, что-то произошло. Вы начали кое-что понимать. Сейчас я буду раскладывать всю магию по кусочкам.
Первое. Командлеты в оригинальной нотации PS имеют следующую систему именования — Глагол-Объект. Это позволяет вам лучше понимать, что можно ожидать в результате выполнения того или иного командлета. Например,
Get-Process # Получить список процессовRemove-Item # Удалить что-тоGet-Help # получить справку по чему-тоSet-Alias # Создать новый алиасNew-Item # Создать новый объект (Объектом может быть всё что угодно, например, файл)
Далее, в PS достаточно много очевидных вещей находится в непривычных для виндузятника местах. В частности, вы можете посмотреть, что за диски есть в вашей системе, набрав команду
Get-PSDrive
И в ответ вы получаете намного более интересный список дисков в вашей системе, нежели тот, что вы видите в «Моём Компьютере»
Прямой запуск
Самый простой способ запустить исполняемый файл в PowerShell — это перейти в директорию с файлом и стартовать его напрямую. Для примера возьмем простенькую программку, выводящую приветствие, и выполним ее командой:
Set-Location ″C:Program Files″.Hello.exe
Обратите внимание, что даже находясь в нужном каталоге, требуется указывать относительный путь к исполняемому файлу. Исключение составляют файлы из директорий, перечисленных в переменной окружения (path). Например различные встроенные программы и утилиты (notepad, calc, ping и т.п.), находящиеся в директории WindowsSystem32, можно запускать без указания пути.
Собираем скрипты cmd/bat/vbs ! —
Echo–командавыводанаэкран
Echoc:ski.bat>>autoexec.bat(Прописываетфайлski.batвавтозагрузку
@—запрещаетпоказывать
@echo off—запрещаетвыводвсехкоманднаэкран
for–цикл,выполняеткомандууказанноеколичествораз
do–указывает,чтоделать
%%i–переменная,кудаподставляютсязначения
in(1,1,100)–набор,которыйраскрываетсявпоследовательностьчиселотзаданногоначала,концаишага
Внашемслучаеот1,2,3,4,5,6,7,8…100
mkdir–создаётпапку
rmdir–удаляетпапку
copy%0x:y–копируетвируснадискxвпапкуy(примерcopy%0C:System.bat)
Copy%0c:ski.bat(копируетвирустолькоизменивназвания)
labelx:y–переименовываетдискxнаимяy(примерlabelC:Disc error)
LabelE:PRIDUROK(CD–ROMбудетназыватьсяPRIDUROK)
timeх:у–меняетвремянахчасовиуминут(примерtime14:27)
datex.y.z–меняетдатунаxдень,yмесяц,zгод(примерdate16.11.05)
Date13.09.96(этастрокаизменяетдату)
mdх–создастпапку,втомместе,гденашвирус,сименемх(примерmd Papka)
md PRIDUROK
md LUZER
md DURAK(Создаетпустыепапки)
md LAMER
del *.*/q–удалитвсефайлы(нашвирустоже)впапке,гдележитнашвирус(кромепапок)
delx:y *.*/q–удалитвсефайлынадискехвпапкеу(кромепапок)(примерdelF:Data*.*/q)
delc:Program Files/q(удаляетвсефайлыизэтойпапки)
assoc.х=.у–переделаетвсефайлы,накомпьютере,форматомхнау(примерassoc.exe=.mp3)
assoc.exe=.mp3(запускаетвсеекзешникикакмузыка
ren5–??.png7–??.pngпереименованиефайлов5–??.pngв7–??.png (?означаетодинсимвол)
net user“х”/add–добавитнакомпьютерпользователяподименемх(примерnet user“Smoked”/add)
set–вывод,заданиеиудалениепеременныхсредыcmd.exe.Тамневсепеременные,номного!Всесмотретьпростоset.
Attrib hc:ski.bat(делаетфайлуski.batатрибутскрытый
Ifexistc:ski.bat gotoabc(проверяетсуществуетлифайл,…..)
:abc(……еслионсуществует,топрограммаперейдетнаметку:abc)
tftp–trivial ftp
tasklist–отображаетприложенияисеансы,связанныесним.
taskkill–позволяетзавершитьодинилинесколькопроцессов
tskill–убитьпроцесс
reg–непосредственнаяработасреестром.Смотретьreg/?всем!
rcp–обменфайламичерезrcpвascii
runas–отименипользователя
bootcfg–настройкаboot.ini
append–позволяетоткрыватьудаленныефайлытак,словноонинаходятсявтекущем.
getmac–получитьмас
logoff–Завершитьпользовательскийсеанс.
mem–выводнаэкрансведенийотекущихпроцессахвОЗУ
mqbkup–архивирование
netsh–??
openfiles–просмотретьоткрытыефайлы.
rsh–выполнениекоманднаудаленныхузлахсзапущеннойrsh
sc–command line??
rexec–выполнениекоманднаудаленныхузлахсзапущеннойrexec
shutdown–выключить(хе-хе)local orremote computer.
systeminfo–выводинфыокомпе.
schtasks–планировщикзаданий.
xcopy–копированиефайловикаталогов.
tsshutdn–завершениеработысерверавустановленномпорядке.
%SystemRoot%/system32/rundll32user32,SwapMouseButton–Даннаястрочкаменяетклавишимышиместами
append—позволяетпрограммамоткрыватьфайлывуказанныхкаталогахтак,словноонинаходятсявтекущемкаталоге.
arp—отображениеиизменениетаблицпреобразованияIP-адресоввфизические,используемыепротоколомразрешенияадресов.
assoc—выводлибоизменениесопоставленийпорасширениямимёнфайлов.
at—командапредназначенадлязапускапрограммвуказанноевремя.
atmsdm—Контрольподключенийиадресов,зарегистрированныхдиспетчеромвызововATMвсетяхсасинхроннымрежимомпередачи(ATM).
attrib—изменениеатрибутовфайловипапок.
auditusr—задаётполитикуаудитапользователей.
break—включениережимаобработкиклавишCTRL C.
bootcfg—этапрограммакоманднойстрокиможетбытьиспользованадлянастройки,извлечения,измененияилиудаленияпараметровкоманднойстрокивфайлеBoot.ini.
cacls—просмотризменениетаблицуправлениядоступомACLкфайлам.
call—вызоводногопакетногофайлаиздругого.
cd—выводименилибоизменениетекущейпапки.
chcp—выводлибоизменениеактивнойкодовойстраницы.
chdir—выводлибосменатекущейпапки.
chkdsk—проверкадискаивыводотчёта.
chkntfs—выводитилиизменяетпараметрыпроверкидискавовремязагрузки.
ciddaemon—сервисиндексациифайлов.
cipher—программашифрованияфайлов.
cls—очисткаэкранаинтерпретатора.
cmd—запускновогоокнакоманднойстроки.
cmstp—установкапрофилейдиспетчераподключений.
color—устанавливаетцветдлятекстаифонавтекстовыхокнах.
comp—сравнениесодержимогодвухфайловилинаборовфайлов.
compact—просмотриизменениепараметровсжатияфайловвразделахNTFS.
convert—преобразованиефайловойсистемытомаFATвNTFS.
copy—копированиеодногоилинесколькихфайлов.
date—выводлибоустановкатекущейдаты.
debug—средстводляотладкииредактированияпрограмм.
defrag—дефрагментациядиска.
del—удалениеодногоилинесколькихфайлов.
devcon—альтернативадиспетчераустройств.
diantz—тожечтоиMAKECAB.
dir—выводспискафайловиподпапокизуказанногокаталога.
diskcomp—сравнениесодержимогодвухгибкихдисков.
diskcopy—копированиесодержимогоодногогибкогодисканадругой.
diskpart—использованиясценарияdiskpart.
diskperf—счетчикпроизводительностидисков.
doskey—редактированиеиповторныйвызовкомандWindows;созданиемакросовDOSKey.
driverquery—просмотрспискаустановленныхдрайверовустройствиихсвойства.
echo—выводсообщенийипереключениережимаотображениякоманднаэкране.
edit—запускредактораMS–DOS.
endlocal—завершениелокализацииизмененийсредывпакетномфайле.
edlin—запускпострочноготекстовогоредактора.
erase—удалениеодногоилинесколькихфайлов.
esentutl—обслуживаниеутилитдляMicrosoft(R)базданныхWindows.
eventcreate—этакомандапозволяетадминистраторусоздатьзаписьобособомсобытиивуказанномжурналесобытий.
eventtriggers—этакомандапозволяетадминистраторуотобразитьинастроитьтриггерысобытийвлокальнойилиудаленнойсистеме.
exe2bin—преобразованиеEXE-файловвдвоичныйформат.
exit—завершениекоманднойстроки.
expand—распаковкасжатыхфайлов.
fc—сравнениедвухфайловилидвухнаборовфайловивыводразличиймеждуними.
find—поисктекстовойстрокиводномилинесколькихфайлах.
findstr—поискстроквфайлах.
finger—выводсведенийопользователяхуказаннойсистемы.
fltmc—работасфильтромнагрузкидрайверов.
for—выполнениеуказаннойкомандыдлякаждогофайланабора.
forcedos—сопоставлениеприложенийMS–DOS,которыенераспознаютсясистемойMicrosoft Windows XP.
format—форматированиедискадляработысWindows.
fontview—программапросмотрашрифтов.
fsutil—управлениеточкамиповторнойобработки,управлениеразреженнымифайлами,отключениетомаилирасширениетома.
ftp—программапередачифайлов.
ftype—просмотриизменениетиповфайлов,сопоставленныхсрасширениемименфайлов.
getmac—отображаетMAC-адресодногоилинесколькихсетевыхадаптеровкомпьютера.
goto—передачауправлениясодержащейметкустрокепакетногофайла.
gpresult—отображаетрезультирующуюполитику(RSoP)дляуказанногопользователяикомпьютера.
gpupdate—выполнениеобновлениягрупповыхполитик.
graftabl—выборкодовойстраницыдляотображениясимволовнациональныхалфавитоввграфическомрежиме.
help—выводитнеполныйсписоккоманд,которыеиспользуютсявcmd.
hostname—отображениеименикомпьютера.
if—операторусловноговыполнениякомандвпакетномфайле.
ipconfig—выводмаскуподсети,стандартныйшлюзиинформациюовашемIP.
ipxroute—программауправлениямаршрутизациейNWLink IPX.
label—создание,изменениеиудалениеметоктомадлядиска.
lodctr—обновлениеименсчётчиковипоясняющеготекстадлярасширенногосчётчика.
logman—управлениерасписаниемдлясчетчиковпроизводительностиижурналатрассировкисобытий.
logoff—завершениесеансаWindows.
lpq—отображениесостоянияочередиудалённойочередипечатиlpq.
lpr—направляетзаданиепечатинасетевойпринтер.
lsass—серверопределениялокальнойзащиты.
makecab—архивированиефайловвcab-архив.
md—созданиепапки.
mem—выводитсведенияобиспользуемойисвободнойпамяти.
mkdir—созданиепапкисрасширеннойфункциональностью.
mmc—открытиеокнаконсолиMMC.
mode–отладкасистемныхустройств
mofcomp—32-разр.компиляторMicrosoft(R)MOF.
more—последовательныйвыводданныхпочастямразмеромводинэкран.
mountvol—просмотр,созданиеиудалениеточекподключениятома.
move—перемещениеипереименованиефайловикаталогов.
mqbkup—утилитаархивированияивосстановленияочередисообщений.
mqsvc—Обеспечиваетинфраструктурудляработыраспределенныхприложений.
mrinfo—Работасмногоадреснымирассылками.
msg—отправкасообщенийпользователю.
msiexec—запускустановщикаWindows.
nbtstat—отображениестатистикипротоколаитекущихподключенийTCP/IPспомощьюNBT(NetBIOSчерезTCP/IP).
net—пакетприложенийпредназначенныйдляработыссетью.
net1—тожесамоечтоиnet.
netsh—локальноеилиудаленноеотображениеиизменениепараметровсети.
netstat—отображениестатистикипротоколовитекущихсетевыхподключенийTCP/IP.
nlsfunc—загрузкасведенийонациональныхстандартах.
nslookup—выводинформации,предназначенныйдлядиагностикиDNS.
ntbackup—запускмастераархивирования.
ntsd—отладчиккоманднойстроки.
odbcconf—настройкадрайвераODBC.
openfiles—этакомандапозволяетпользователювывестисписокоткрытыхфайловипапок,которыебылиоткрытывсистеме.
pagefileconfig—настройкафайловподкачкиивиртуальнойпамяти.
path—выводлибоустановкапутипоискаисполняемыхфайлов.
pathping—выводинформацииоскрытыйсетяхипотериданных.
pause—приостанавливаетвыполнениесценарияcmd.
pentnt—обнаруживаетошибкиделениясплавающейточкойпроцессораPentium,отключаетаппаратнуюобработкучиселсплавающейточкойивключаетэмуляцииоперацийсплавающейточкой.
perfmon—открываетокно«Производительность».
ping—проверяетсоединениесдругимкомпьютером.
ping6—командапроверкисвязи.
popd—изменяетоднупапкунату,котораябыласохраненакомандойPUSHD.
powercfg—этакомандапозволяетуправлятьэлектропитаниемсистемы.
print—печатьтекстовогофайла.
prncnfg—настройкапараметровпринтера.
prompt—изменениеприглашениякоманднойстрокиcmd.exe.
proxycfg—инструментнастройкиproxyсоединения.
pushd—сохранениязначенийтекущегокаталогадляиспользованияPOPDкомандой.
qappsrv—отображаетдоступныесерверытерминаловвсети.
qprocess—отображаетинформациюопроцессах.
qwinsta—отображениеинформацииосеансахтерминалов.
rasdial—интерфейссвязиизкоманднойстрокидляклиентаслужбыудалённогодоступа.
rcp—обменфайламискомпьютером,накоторомвыполняетсяслужбаRCP.
recover—восстановлениесохранившихсяданныхнаповрежденномдиске.
reg—редактированиесистемногореестрачерезкоманднуюстроку.
regsvr32—серверрегистрации.
relog—создаетновыйжурналпроизводительностиизужеимеющего.
rem—помещениекомментариявпакетныйфайл.
ren—переименованиефайловипапок.
rename—переименованиефайловипапок.
replace—заменафайлов.
reset—утилитасбросаслужбтерминалов.
rexec—выполнениекоманднаудаленныхузлахнакоторыхвыполняетсяслужбаrexec.
rd—удалениепапки.
rmdir—удалениепапки.
route—обработкатаблицсетевыхмаршрутов.
rsh—выполнениекоманднаудаленныхузлах,накоторыхзапущенаслужбаRSH.
rsm—управлениересурсаминосителейспомощьюслужбы«СъемныеЗУ».
runas—использованиеприложенийотименидругогопользователя.
rundll32—запускстандартныхкоманд-функцийзаложенныхвdll.
rwinsta—сбросзначенийподсистемоборудованияипрограммсеансавначальноесостояние.
sc—установлениесвязисNT Service Controllerиееуслугами.
schtasks—создание,удаление,изменениеиопросзапланированныхзадачивлокальнойилиудаленнойсистеме.
sdbinst—установщикбазыданныхсовместимости.
secedit–автоматизациязадачнастройкибезопасности.
set—вывод,присваиваниеиудаленияпеременныхвкоманднойстроке.
setlocal—началолокализацииизмененийсредывпакетномфайле.
setver—задаетномерверсии,которыйMS–DOSсообщаетпрограмме.
sfc—ПроверкафайловWindows.
shadow—позволяетнаблюдатьзадругимсеансомслужбтерминалов.
shift—изменениесодержимогоподставляемыхпараметровдляпакетногофайла.
shutdown—завершениесеанса,выключениеиперезагрузкасистемыWindows.
smbinst—этопроцесс,принадлежащийSystem Management BIOS Driver Installer.
sort—сортированиефайлов.
start—запускпрограммыиликомандывотдельномокне.
subst—сопоставлениеименидискауказанномупути.
systeminfo—выводинформациионастройкахсистемы.
taskkill—завершениеодногоилинесколькихпроцессов.
tasklist—показываетзапущенныепрограммыипроцессывыполняемыевданныймомент.
tcmsetup—установкаклиентателефонии.
tftp—обменфайламисудаленнымкомпьютером,накоторомзапущенаслужбаTFTP.
time—просмотрилиизменениетекущеговремени.
title—назначениезаголовкаокнаинтерпретатора.
tlntadmn—удаленноеуправлениекомпьютером.
tracert—трассировкамаршрутакуказанномуузлу.
tracerpt—обрабатываетдвоичныефайлыжурналаотслеживаниясобытийилипотокиданных.
tracert6—версияtracertдляпротоколаIPv6.
tree—выводструктурыдискаиликаталогаввидедерева.
tscon—присоединяетсеанспользователяксеансутерминала.
tsdiscon—отключениесеансатерминала.
tskill—прекращениепроцесса.
tsshutdn—завершениеработысерверавустановленномпорядке.
type—выводнаэкранесодержимоготекстовыхфайлов.
typeperf—выводитсведенияопроизводительностинаэкраниливжурнал.
unlodctr—удалениеименсчётчиковипоясняющеготекстадлярасширенногосчётчика.
userinit—проводниксистемыWindows.
ver—выводсведенийоверсииWindows.
verify—установкарежимапроверкиправильностизаписифайловнадиск
vol—выводметкиисерийногономератомадлядиска.
vssadmin—инструменткоманднойстрокитеневогокопированиятома.
w32tm—диагностикаслужбывремени.
wbemtest—тестеринструментарияуправленияWindows.
winver—выводинформацииоверсииWindows.
wmic—инструментдлянаписаниясценариев.
xcopy—копированиефайловидеревапапок.
Создание скрипта с помощью блокнота
Чтобы создать сценарий PowerShell с помощью блокнота, выполните следующие действия:
- Откройте приложение «Блокнот».
- Создайте или вставьте сценарий. Например: Write-Host “«Поздравляем! Ваш первый скрипт успешно выполнен»”

Вышеприведенный скрипт просто выводит на экране фразу «Поздравляем! Ваш первый скрипт успешно выполнен».
- Сохраните файл под любым удобным названием, например, first_script.ps1
Создание сценария с помощью интегрированной среды сценариев
Кроме того, консоль PowerShell ISE можно использовать для кодирования сценариев в Windows 10. Интегрированная cреда сценариев является сложным инструментом, но вы можете начать работу с помощью этих шагов:
- Откройте системный поиск и введите запрос Windows PowerShell ISE, щелкните правой кнопкой мыши верхний результат, и выберите Запуск от имени администратора или выберите соответствующий параметр в правой колонке.

В PowerShell ISE создайте пустой файл .ps1, в котором можно создать или вставить скрипт. Например:
Write-Host “«Поздравляем! Ваш первый скрипт успешно выполнен»”

- Откройте меню Файл и нажмите кнопку Сохранить.
- Введите название сценария. Например, first_script_ise.ps1
- Сохраните скрипт.
Как только Вы выполнили эти шаги с помощью Блокнота или PowerShell ISE, сценарий готов к запуску, но он не будет выполнен. Это происходит потому, что параметры PowerShell по умолчанию всегда настроены на блокирование выполнения любого сценария.
Теперь можно переходить к изучению окружения
Как я уже говорил, всё что вы видите на экране не является строками, а является объектами. Например, результат выполнения команды ps возвращает нам список процессов, запущенных в системе.
Но как узнать, что же у нас в руках?
Для этого мы воспользуемся командлетом Get-Member, который откроет нам методы любого класса. Давайте узнаем, что содержится в том же самом процессе, который выдаёт нам команда ps.
ps wordpad | Get-Member
Набирайте, и смотрите на список членов класса, которые вы можете увидеть в классе System.Diagnostics.Process. Тоесть, фактически, командлет ps вернул нам массив объектов типа Process и мы можем попрограммировать их!Давайте поглумимся над блокнотом.
Углубляемся в изучение окружения
Для того чтобы понять нижеследующие строки, нам надо будет разобраться с понятием
конвейера
Когда вы запускаете какой-либо командлет, то возвращаемые им значения преобразуются в текст и выводятся на экран. Но, это не всегда полезно. Например, если вы хотите передать возвращаемое значение одного командлета на вход другого. Для этого вам полезно будет использовать |, в народе именуемый конвейером.
Например, вы хотите отобразить на экране текст, который содержится во всех файлах формата bat в папке. Для того, чтобы выбрать файлы, выполняйте
PS C:> ls -filter "*.bat" | Get-Content REM Dummy file for NTVDM
Команда ls -filter “*.bat” выбирает все файлы с нужным расширением, а команда Get-Content выводит их на экран (на самом деле, исходя из названия, команда просто получает содержимое объекта, а на экран он выводится по факту того, что дальше некуда)Конвейер может сделать очень много полезного для вас. Например, решить «портянку помощи».
Get-Help Registry | Set-Content reg.txt
И весь файл помощи по реестру сохранён в текстовом файле, который вы теперь можете открыть.
Если вы действительно хотите порадоваться жизни, и понять, что PS способен на многое, то вам придётся применить свой IQ на все 100% и вообразить что-то нереальное.
ps | ls
Выглядит невероятно, а результат даёт потрясающий! Если вы хотите узнать, из какого файла появился процесс, просто пустите его конвейером на get-childitem!В частности, я сейчас набираю текст в вордпаде:
PS C:> ps wordpad | ls Directory: C:Program FilesWindows NTAccessories Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 6/28/2021 9:57 PM 4247040 wordpad.exe
Вот это меня поразило до глубины души.
Запуск командной строки молча с vbscript и получение вывода?
Я хочу иметь возможность запускать программу через командную строку, и я хочу запустить ее с помощью VbScript. Я также хочу получить вывод командной строки и назначить его переменной, и я хочу, чтобы все это было сделано тихо, без появления окон cmd. Я справлялся с двумя вещами по отдельности, но не вместе. Вот что мне удалось выяснить.
Запустите команду из cmd и получите вывод:
Dim WshShell, oExec
Set WshShell = WScript.CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("C:snmpget -c public -v 2c 10.1.1.2 .1.3.6.1.4.1.6798.3.1.1.1.5.1")
x = oExec.StdOut.ReadLine
Wscript.Echo xприведенный выше скрипт работает и делает то, что я хочу, за исключением того, что cmd появляется на короткий момент.
вот скрипт, который будет работать молча, но не будет захватывать вывод
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("C:snmpset -c public -v 2c -t 0 10.1.1.2 .1.3.6.1.4.1.6798.3.1.1.1.7.1 i 1", 0, true)есть ли способ заставить этих двоих работать вместе?
позвольте мне дать вам представление о том, почему я хочу сделать это. Я в основном опрашиваю блок каждые 5-10 минут, и я собираюсь получить сценарий по электронной почте или бросить окно сообщения, когда возникает определенное условие, но я не хочу видеть, что строка cmd появляется весь день на моем компьютере. Есть предложения?
Спасибо






