图书馆建设网站需要哪些费用,用ps做的网站样图怎么切,企业网站什么意思,钓鱼网站搭建教程文章目录 abstract流程简述预备工作启动服务#x1f388;启用网络发现和共享开关检查共享密码保护(可选) 相关概念通过GUI设置局域网共享打印机使用开始菜单直接跳转到打印机设置逐步操作 命令行配置方式使用net命令共享打印机使用powershell相关模块配置 使用PowerShell 配置… 文章目录 abstract流程简述预备工作启动服务启用网络发现和共享开关检查共享密码保护(可选) 相关概念通过GUI设置局域网共享打印机使用开始菜单直接跳转到打印机设置逐步操作 命令行配置方式使用net命令共享打印机使用powershell相关模块配置 使用PowerShell 配置共享打印机查看或列出打印机检查网共享打印机资源管理器中查看网络共享打印机 共享打印机(主设备)添加网络打印机(辅设备)设置防火墙规则 使用Powershell 快速添加网络共享打印机跟踪共享打印机上的打印任务重命名打印机 FAQ打印机驱动检查连接扫描到的打印机时遇到失败共享打印使用的凭证访问权限问题总结 abstract 和共享文件夹类似,windows上可以共享打印机设备 一般来说,windows10以上的系统设置共享打印机很方便,可以通过开始菜单搜索直接跳转到设置页面 共享您的网络打印机 - Microsoft 支持 在Windows局域网LAN环境下共享打印机可以实现局域网内的多台设备共享同一台打印机。 其应用场合举例:一个办公是内只需要有一台打印机,而有多台计算机,如果希望每台计算机都能够调用打印机,能够提高打印机的使用便利性和效率;打印机通常只能链接到一台计算机上,有了共享打印机,就不再需要将文件发送给主设备,只要主设备在线并授权给辅设备,那么辅设备可以通过主设备直接打印东西,而不需要主设备上有人转操作另一个场景是,远程打印,假设楼下有一台打印机和连接它的计算机(作为打印关系中的主设备),那么在办公室里可以在取得主设备授权后远程交代打印任务给打印机,提前将文件打印好,让需要的人去领取 设置共享打印机主要有两类方法:图形界面设置方法和命令行方法,后者操作上比较简单
流程简述
官方文档给出了设置和控制面板两种设置界面内的设置方法,并且主要分为主设备打印机设置,辅设备打印机设置
预备工作
使用powershell来快速执行(要求管理员权限)
启动服务 启用相关服务,比如spooler服务 一般是辅设备上设置启用spooler服务 管理员方式打开powershell,执行sasv spooler或者以下 start-Service spooler如果经常用,想要设置为开机自动运行的服务,则执行 Set-Service -Name Spooler -StartupType Automatic启用网络发现和共享开关
function Set-NetworkDiscovery
{#.SYNOPSIS设置网络网络发现.EXAMPLEPS Set-NetworkDiscovery -state on.EXAMPLEPS Set-NetworkDiscovery -state off#param([ValidateSet(on, off)][string]$state on)$switch ($state -eq on) ? yes:no# Write-Host $switch#对于英文系统netsh advfirewall firewall set rule groupNetwork Discovery new enable$switch #对于中文系统netsh advfirewall firewall set rule group网络发现 new enable$switch }
function Set-NetworkFileAndPrinterSharing
{#.SYNOPSIS设置文件和打印机共享.EXAMPLEPS Set-NetworkFileAndPrinterSharing -state on.EXAMPLEPS Set-NetworkFileAndPrinterSharing -state off#param([ValidateSet(on, off)][string]$state on)$switch ($state -eq on) ? yes:no# Write-Host $switchnetsh advfirewall firewall set rule groupFile and Printer Sharing new enable$switchnetsh advfirewall firewall set rule group文件和打印机共享 new enable$switch}
#调用两个函数
Set-NetworkDiscovery;
Set-NetworkFileAndPrinterSharing;
检查共享密码保护(可选) 设置(password protected sharing)这个步骤不是必须的,如果访问过程中遇到问题,再考虑执行设置 关于匿名访问的配置对应的powershell修改注册表参考脚本 $everyoneKeyPath HKLM:\SYSTEM\CurrentControlSet\Control\Lsa# 检查 everyoneincludesanonymous 值
$everyoneValue Get-ItemProperty -Path $everyoneKeyPath -Name everyoneincludesanonymous -ErrorAction SilentlyContinue
$restrictValue Get-ItemProperty -Path $everyoneKeyPath -Name restrictanonymous -ErrorAction SilentlyContinueif ($everyoneValue -eq $null) {Write-Output everyoneincludesanonymous 不存在将新建并设置默认值 0New-ItemProperty -Path $everyoneKeyPath -Name everyoneincludesanonymous -Value 0 -PropertyType DWord -Force
} else {Write-Output everyoneincludesanonymous 当前值为: $($everyoneValue.everyoneincludesanonymous)
}if ($restrictValue -eq $null) {Write-Output restrictanonymous 不存在将新建并设置默认值 1New-ItemProperty -Path $everyoneKeyPath -Name restrictanonymous -Value 1 -PropertyType DWord -Force
} else {Write-Output restrictanonymous 当前值为: $($restrictValue.restrictanonymous)
}# 修改值启用密码保护共享
Set-ItemProperty -Path $everyoneKeyPath -Name everyoneincludesanonymous -Value 0 -Force
Write-Output everyoneincludesanonymous 已设置为 0禁用匿名访问Set-ItemProperty -Path $everyoneKeyPath -Name restrictanonymous -Value 1 -Force
Write-Output restrictanonymous 已设置为 1启用身份验证
相关概念
主设备:和打印机直接连接的计算机辅设备:本身没有直接连接打印机,希望共享使用其他设备(主设备)的打印机
通过GUI设置局域网共享打印机
使用开始菜单直接跳转到打印机设置
在开始菜单中搜printer点击打印机和扫描仪
逐步操作
连接打印机确保打印机已经连接到一台Windows计算机并能够正常使用。共享打印机 打开“控制面板” “设备和打印机”。右键点击要共享的打印机选择“打印机属性”。进入**“共享”选项卡**勾选“共享这台打印机”并为打印机设置一个共享名称(比如简短的ptr,或者带编号的短名p1,方便后续引用 设置打印权限 如果选项可用的话,可以在“共享”选项卡中点击“附加驱动程序”来为不同架构的系统如x86和x64安装适配的驱动以便其他系统使用。 配置网络设置 打开“控制面板” “网络和共享中心” “更改高级共享设置”。确保“文件和打印机共享”已经开启并在网络配置中关闭“密码保护的共享”根据需求选择是否需要。
命令行配置方式
在命令行中使用命令可以简化共享打印机的配置。常用的命令行工具是net命令和PowerShell。
使用net命令共享打印机
可以使用net share命令来共享打印机。
主设备上设置共享:
net share PrinterNameC:\Windows\System32\spool\PRINTERS /grant:Everyone,fullPrinterName是你为共享打印机指定的名称。/grant:Everyone,full意味着向网络中的所有用户提供完全控制权限。
使用powershell相关模块配置
详见下一节
使用PowerShell 配置共享打印机
PrintManagement Module | Microsoft Learn
在PowerShell中我们可以更灵活地配置共享打印机。
查看或列出打印机
使用Get-Printer( Retrieves a list of printers installed on a computer)查看打印机
PS get-printerName ComputerName Type DriverName
---- ------------ ---- ----------
Microsoft Print to PDF Local Microsoft Print To PDF
Adobe PDF Local Adobe PDF Converter
\\front\HP DeskJet 2700 series front Connection HP DJ 2700 series PCL-3检查网共享打印机
检查非本地打印机
PS get-printer |?{$_.Type -eq connection}Name ComputerName Type DriverName
---- ------------ ---- ----------
\\front\HP DeskJet 2700 series front Connection HP DJ 2700 series PCL-3或者get-printer \\*,如果需要查看详情,使用fl追加
PS get-printer -Name \\*|flName : \\front\HP DeskJet 2700 series
ComputerName : front
Type : Connection
ShareName : ptr
PortName : USB001
DriverName : HP DJ 2700 series PCL-3
Location :
Comment :
SeparatorPageFile :
PrintProcessor : winprint
Datatype : RAW
Shared : True
Published : False
DeviceType : Print
PermissionSDDL :
RenderingMode :
KeepPrintedJobs : False
Priority : 1
DefaultJobPriority : 0
StartTime : 0
UntilTime : 0
PrinterStatus : ServerOffline
JobCount : 0
DisableBranchOfficeLogging :
BranchOfficeOfflineLogSizeMB :
WorkflowPolicy :
资源管理器中查看网络共享打印机
启用了网络发现后,可以在资源管理器中通过unc地址\\server,(例如\\front),会尝试列出\\front设备共享出来的共享文件夹和打印机等资源,显示的名字是ShareName,而不是打印机或共享文件夹本身的名字
共享打印机(主设备)
Set-Printer -Name PrinterName -Shared $true -ShareName SharedPrinterName添加网络打印机(辅设备)
Add-Printer -ConnectionName \\ServerName\PrinterName设置防火墙规则
确保Windows防火墙允许文件和打印机共享。可以通过以下命令启用相应规则(中英文系统语言通用)
netsh advfirewall firewall set rule groupFile and Printer Sharing new enableYes
netsh advfirewall firewall set rule group文件和打印机共享 new enableYes
使用Powershell 快速添加网络共享打印机
假设主设备(启用了网络发现,计算机名为front)已经设置启用了打印机共享,共享名称为ptr(此时共享打印机的访问路径为\\front\ptr)
那么在其他设备(比如同网络局域网下),可以执行以下命令快速为辅设备快速添加打印机 PS Add-Printer -ConnectionName \\front\ptr #添加成功不会输出信息,可以使用get-printer来查看PS Get-PrinterName ComputerName Type
---- ------------ ----
Microsoft Print to PDF Local
\\front\HP DeskJet 2700 series front Connecti…
可以发现,我们连接上了\\front共享出来的打印机,不过这里的名字是打印机型号名,而不是我们指定的共享名
跟踪共享打印机上的打印任务
连接上打印机后,需要用它来打印东西,一个问题是如何知道打印任务的进展
powershell中有Get-PrintJob来跟踪指定打印机上的打印任务
而对于局域网内的打印机,如果是用\\..\..的链接访问的共享打印机,那可以用\\*来指代共享打印机
此时的跟踪命令如下(命令中|fl)用来显示完整信息,而不是默认的简略信息
Get-PrintJob \\*|fl为了说明问题,给出以下操作记录例子
PS☀️[BAT:19%][MEM:56% (4.4/7.85)GB][20:48:59]
# [cxxuCXXUREDMIBOOK][以:192.168.1.198][~\Desktop]
PS $resGet-Printer \\*|Get-PrintJob;$resId ComputerName PrinterName DocumentName SubmittedTime JobStatus
-- ------------ ----------- ------------ ------------- ---------
3 front HP DeskJet 270… 07d18a7537d94b26768… 2024/9/9 20:52:53 SpoolingPS☀️[BAT:25%][MEM:58.24% (4.57/7.85)GB][20:52:54]
# [cxxuCXXUREDMIBOOK][以:192.168.1.198][~\Desktop]
PS $resGet-Printer \\*|Get-PrintJob;$resId ComputerName PrinterName DocumentName SubmittedTime JobStatus
-- ------------ ----------- ------------ ------------- ---------
3 front HP DeskJet 270… 07d18a7537d94b26768… 2024/9/9 20:52:53 Spooling, Prin…PS☀️[BAT:25%][MEM:58.24% (4.57/7.85)GB][20:52:56]
# [cxxuCXXUREDMIBOOK][以:192.168.1.198][~\Desktop]
PS $resGet-Printer \\*|Get-PrintJob;$res|flId : 3
ComputerName : front
PrinterName : HP DeskJet 2700 series
UserName : smb
DocumentName : 07d18a7537d94b26768d64e151f0db56
Datatype : RAW
Priority : 1
Position : 1
SubmittedTime : 2024/9/9 20:52:53
Size : 0
JobTime : 854593
PagesPrinted : 1
TotalPages : 0
JobStatus : Printing, Retained
可以看到,一个打印任务包含了spooling,Printing等阶段或状态
Printing打印作业正在进行中。
Retained打印作业完成后被保留在队列中以便日后重复打印或保存记录。
打印任务结束一段时间后,Get-Printer将返回空
重命名打印机
也许你希望打印机的名字简单一些,powershell提供了相应的命令:Rename-Printer (PrintManagement) | Microsoft Learn这个命令需要管理员权限的账户才能够设置
FAQ
打印机驱动检查
PS Get-PrinterDriverName PrinterEnvironment MajorVersion Manufacturer
---- ------------------ ------------ ------------
HP DJ 2700 series PCL-3 Windows x64 4 HP
Microsoft enhanced Point and Print… Windows x64 4 Microsoft
Universal Print Class Driver Windows x64 4 Microsoft
Microsoft Virtual Print Class Driv… Windows x64 4 Microsoft
Microsoft Print To PDF Windows x64 4 Microsoft
Microsoft IPP Class Driver Windows x64 4 Microsoft
Remote Desktop Easy Print Windows x64 3 Microsoft
Microsoft enhanced Point and Print… Windows x64 3 Microsoft
Adobe PDF Converter Windows x64 3 Adobe
Microsoft enhanced Point and Print… Windows NT x86 3 Microsoft其中只有第一个是实体打印机,其他都是虚拟打印机 $s Get-PrinterDriver;$s[0]|select *通过此命令来获取指定打印机(列表中第1个)打印机驱动详情
连接扫描到的打印机时遇到失败
有些修改版系统做了组件删减等原因,导致驱动无法自动处理这种情况下可能需要辅设备安装打印机的驱动才能使用,但是许多产生提供的驱动安装程序要求检测到打印机后才让你安装,这就造成共享打印机不可用问题;可以考虑从已经安装了驱动的计算机上找到并备份对应的打印机驱动,然后以某种方式提供给辅设备,比如共享文件夹(不要求驱动)主设备和辅设备使用不同操作系统如32位与64位系统时共享打印机的设置和使用可能会更加复杂。在powershell(v7)中执行add-printer如果发生错误,描述不太具体,可以尝试用windows powershell来执行,抛出的错误会更详细点
共享打印使用的凭证
上面的例子中,UserName是smb,这是主设备front上的一个用户账户,它被创建于用来共享文件夹和打印机如果此前用过smb用户链接过front的共享文件夹过并保留了凭证,那么可以直接用来作为共享打印机使用凭证否则可能要求你输入用户名和密码来验证使用权限
访问权限问题
如果其他设备不能访问共享打印机检查是否禁用了“密码保护的共享”并确保“Everyone”组有相应的权限。
总结
Windows局域网共享打印机可以通过GUI或命令行来配置命令行工具如net share、rundll32以及PowerShell都可以简化设置过程。此外自动化批处理脚本可以极大提高配置效率。以下是主要命令的简要总结
命令说明net share PrinterName共享本地打印机rundll32 printui.dll添加网络共享打印机Set-Printer使用PowerShell共享打印机Add-Printer使用PowerShell添加网络打印机netsh advfirewall firewall配置防火墙规则