У меня есть скрипт powershell, который я запускаю с командным файлом (с повышенными правами) для установки сетевого принтера. Я настроил 37 сценариев, и большая часть кода в этих сценариях повторяется, поэтому я пытаюсь создать один универсальный сценарий, который будет устанавливать принтер по номеру комнаты ввода, включая текстовый файл, в котором будет храниться вся информация о принтере.
Это командный файл:
@echo off
set /p room_number=What is the room number:
if exist "...\%room_number%.ps1" (
Powershell.exe -executionpolicy remotesigned -File "...\%room_number%.ps1" "%room_number%"
)
else (
echo.
echo Powershell script for the printer in the room you specified has not been configured yet. You will need to add the printer maunally!
explorer shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}
pause
)
Это новый текстовый файл, над которым я работал:
roomnumber=1001
prdrloc=hp-lj-m401dn
prdrname=HP LaserJet 400 M401 PCL 6
hostname=TEST1
IP=192.168.7.10
devname=HP LaserJet Pro 400 M401dn-ROOM
roomnumber=1002
prdrloc=hp-lj-m404dn
prdrname=HP LaserJet Pro M404-M405 PCL-6 (V4)
hostname=TEST2
IP=192.168.7.11
devname=HP LaserJet Pro M404dn-ROOM
Это сценарий powershell, в котором я пытаюсьвключить TXT-файл, но я не знаю, как получить только информацию, касающуюся комнаты, которую я указал.
# Room_number_1001
param($room_number)
$file = "...\printer_info.txt"
foreach($line in (Get-Content $file)) {
$a = $line.Split("=")
New-Variable -Name $a[0] -Value $a[1]
}
Get-ChildItem "...\$prdrloc" -Filter *.inf -Recurse | % {pnputil.exe /a $_.FullName}
Add-PrinterDriver -Name "$prdrname" -Verbose
Add-PrinterPort -Name "$hostname" -PrinterHostAddress "$IP" -Verbose
Add-Printer -PortName "$hostname" -Name "$devname" -DriverName "$prdrname"
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -Name "LegacyDefaultPrinterMode" -Value 1 -Force
$PrinterName="$devname"
$DefaultPrinter = Get-WmiObject Win32_Printer -Filter "Name='$PrinterName'"
$DefaultPrinter.SetDefaultPrinter()
Любая помощь будет высоко ценится. Спасибо, парни. :)