$computerName = Read-Host "输入计算机名"
# 创建一个新的PowerShell会话(如果需要远程执行)
$session = New-PSSession -ComputerName $computerName -Credential 域名\公司ad域控管理账号
# 定义候选列表(用户可以选择)
$share = @(
@{path = "\\共享盘地址\公共资源\信息化部共享文件\打印机驱动\兄弟8530DN打印机更新驱动\Y15C_C1_UL_PP-asa-inst-H2\xmlpaper"; ip = "打印机ip"; Drivers="Brother MFC-8530DN XML Paper"; Number="1"},
@{path = "\\共享盘地址\公共资源\信息化部共享文件\打印机驱动\兄弟8530DN打印机更新驱动\Y15C_C1_UL_PP-asa-inst-H2\xmlpaper"; ip = "打印机ip"; Drivers="Brother MFC-8530DN XML Paper"; Number="2"},
@{path = "\\共享盘地址\公共资源\信息化部共享文件\打印机驱动\Epson_L8188";ip = "10.0.57.251"; Drivers="EPSON L8180 Series";Number="3"},
@{path = "\\共享盘地址\公共资源\信息化部共享文件\打印机驱动\兄弟8530DN打印机更新驱动\Y15C_C1_UL_PP-asa-inst-H2\xmlpaper"; ip = "打印机ip"; Drivers="Brother MFC-8530DN XML Paper"; Number="4"},
@{path = "\\共享盘地址\公共资源\信息化部共享文件\打印机驱动\佳能2206AD\DRIVERS";ip = "10.0.57.249"; Drivers="Canon iR2006/2206 UFRII LT";Number="5"},
@{path = "\\共享盘地址\公共资源\信息化部共享文件\打印机驱动\兄弟8530DN打印机更新驱动\Y15C_C1_UL_PP-asa-inst-H2\xmlpaper"; ip = "打印机ip"; Drivers="Brother MFC-8530DN XML Paper"; Number="6"}
)
Write-Output "**************************请选择对应的打印机******************************"
Write-Output "1. 3栋夹层兄弟8530DN(打印机ip)"
Write-Output "2. 3栋6楼兄弟8530DN(打印机ip)"
Write-Output "3. 3栋夹层联合办公室Epson_L8188(打印机ip)"
Write-Output "4. 3栋夹层联合办公室兄弟8530DN(打印机ip)"
Write-Output "5. 3栋夹层联合办公室佳能2206AD(打印机ip)"
Write-Output "6. 3栋4楼兄弟8530DN(打印机ip)"
Write-Output "****************************************************************************"
# 提示用户选择共享文件夹路径
$selectedShare = $null
while (-not $selectedShare) {
$userInput = Read-Host "请选择一个打印机编号 (输入编号)"
# 尝试将输入解析为编号
$selectedShare = $share | Where-Object { $_.Number -eq $userInput }
if (-not $selectedShare) {
Write-Host "无效的选择,请重新输入。"
}
}
# 在远程会话中执行命令
Invoke-Command -Session $session -ScriptBlock {
param (
$SharePath,
$PrinterDriverName,
$PrinterPortName,
$PrinterName
)
# 创建新的PSDrive
New-PSDrive -Name y -PSProvider FileSystem -Root $SharePath -Credential 公司域名\域账号
# 设置当前位置到新的PSDrive
Set-Location y:\
# 添加驱动程序
# 注意:这里假设.inf文件在根目录下,如果有子目录需要调整路径
pnputil /add-driver ./*.inf
# 添加打印机驱动
Add-PrinterDriver -Name $PrinterDriverName
# 添加打印机端口
Add-PrinterPort -Name $PrinterPortName -PrinterHostAddress $PrinterPortName
# 添加打印机
Add-Printer -Name $PrinterName -DriverName $PrinterDriverName -PortName $PrinterPortName
# 检查添加是否成功
if ($?) {
Write-Host "打印机 $printerName 安装成功!"
} else {
$error[0].Exception.Message
Write-Host "打印机 $printerName 安装失败"
}
} -ArgumentList $selectedShare.path, $selectedShare.Drivers, $selectedShare.ip,"$($selectedShare.Drivers) on $($selectedShare.ip)"
1.管理员打开powershell
2.运行