$i=0;$pnp = pnputil -e;
$matched = [regex]::matches($pnp, ".......................................Lexmark International");
$split = $matched -split (".........inf");
$replace = $split -replace " Driver package provider : Lexmark International","";
$replace1 = $replace -replace " ","`n";write-output $replace1;
foreach ($i in $replace1){;$pnpdel = pnputil -f -d $i;$pnpdel;};
Reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\Lexmark Universal v2 XL" /f;
net stop spooler;net start spooler;start \\officechicprt5\111W-22E-CPRN-01
Как вы можете видеть, надеюсь, мой скрипт пытается тянуть OEm * .inf значения из -e команды pnpitil. Я пытаюсь получить каждый файл oem ##. Inf, чтобы быть его собственной переменной в цикле For. Мой скрипт немного беспорядок со всеми заменами и разбиениями, но эта часть, похоже, получает часть команды, которая мне нужна. У меня возникают проблемы с данными в $ i. Похоже, скрипт иногда работает, а иногда и нет. Я хочу pnputil -d oem99.inf для каждого oem #, который он находит в перечислении pnputil. Что я делаю неправильно в моем цикле For? Должен быть лучший способ ... Я все еще довольно новичок в этом, как вы можете сказать.Powershell Для Loop, Заменить, Сплит, Regex Матчи
Еще раз спасибо. Brent
«Похоже, скрипт иногда работает, а иногда и нет». что происходит, когда он появляется, чтобы не работать? –
Команда pnputil вернет ошибку, в основном «не может удалить ее». –