因为我不想向 CUPS 提供有关公司打印机的任何信息,因为我怀疑即使我不在公司网络上它也会尝试访问它,所以我使用以下“脚本”在公司打印机上打印文档由 Windows 打印服务器管理:
smbclient "//printserv.acme.corp/BUILDING0PRINTER1" "password" -c "print /tmp/my.pdf" -U "username" -W "Domain"
Run Code Online (Sandbox Code Playgroud)
该打印机是HP MFP,可以很好地进行双面打印。但是,我的命令不打印双面打印。
我的问题是:如何以双面模式打印 PDF(以便使用纸张的两面,也称为长边翻转)?
我不介意通过在前面添加一些奇怪的 PCL 或 Postscript 命令来扩展我的“脚本”,但我不希望 CUPS 搜索打印机(并可能将我的密码发送到以太中)。
是否可以指示我的 Windows 8.1 计算机在 Windows 资源管理器中打开如下链接:smb://c:\path to somefolder\?现在,Internet Explorer 会自动响应打开 smb:// 链接的请求,并显示没有安装此类链接 (smb) 的应用程序 - [在商店中查找应用程序]
(我遇到这个问题的原因是因为我在我的机器上使用 mediawiki,并且在某些页面上有文件夹和文件的链接。我希望能够从网络上的任何计算机上单击它们并能够查看该文件/立即文件夹)。
非常感谢。
我正在尝试从 Docker for Windows 上的 docker 容器中访问远程共享文件夹。
在容器内部运行时dir \\target\share会产生“找不到网络路径。”。可以从容器内部 ping 目标,并且可以从主机系统访问共享。
使用的图像是microsoft/dotnet-framework:4.7.2-sdk,我正在运行它,仅带有-it测试选项。
我错过了什么才能让它发挥作用?
我正面临这个奇怪的问题.
我正在尝试将位于另一台计算机上的文件作为共享资源读取:
\\remote-machine\dir\MyFileHere.txt
Run Code Online (Sandbox Code Playgroud)
当我运行一个独立的应用程序(16行java文件)时,一切都很好.但是,当我尝试使用相同的类和相同的方法从服务器"引擎"(这是一个应用程序引擎,非常类似于Java EE Application Server,您可以运行Java程序)读取相同的文件时,"FileNotFoundException"被扔了.
我虽然我会获得某种权限,所以我将资源映射为驱动器:K:\
重新运行我的java文件,读取,很好.
在"引擎" - > FileNotFoundException中重新运行我的java文件.
当我将文件复制到本地计算机(C:\ MyFileHere.txt)时,不会抛出异常.
题
可能导致此FileNotFoundExcecption的原因是什么?
我正在使用Java 1.5
据我所知,引擎几乎透明地使用java.
任何人都面临类似的事情?
附加问题?什么是解决此问题的好方法?我开始考虑提供服务这些文件的tomcat安装并通过http读取它们,但我认为这太多了,这就是为什么SMB协议首先用于它的原因不是吗?也许我无论如何都无法打开插座.
安全管理器可能是原因(我之前从未使用过,但我知道它存在)
如果出现这种情况,是否会抛出SecurityException?
非常感谢.
编辑
解决了.谢谢史蒂夫W.
事实证明,该引擎是使用ZeroG的"LaunchAnywhere"启动的.因此,创建一个.exe,然后将使用指定的应用程序运行JVM.
它自己的这个应用程序是Launcher.当它启动引擎时,不知何故(我无法弄清楚为什么或如何)拥有JVM进程的用户是SYSTEM.史蒂夫指出,该用户没有NETWORK访问权限,因此无法从共享资源或映射驱动器中读取.
解决方法(当我向制造商报告时)是创建一个.cmd文件来手动启动引擎.由于它将手动启动,因此用户可以访问网络.
我使用了SysInternals的"Process Explorer"来确切地知道用于运行引擎应用程序的命令行.
真是一团糟!
感谢那些发布答案的人.
我可以列出我自己电脑的共享,没有问题:
gwmi Win32_Share
Run Code Online (Sandbox Code Playgroud)
但是当我尝试
gwmi Win32_Share -computer myserver
Run Code Online (Sandbox Code Playgroud)
myserver运行 BusyBox 的 HP MediaVault mv2120在哪里。我得到回复:Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
有什么办法可以做到这一点吗?
我正在尝试通过 python 将 smb 网络共享安装到桌面上,我不希望将共享安装在文件夹中,但是所有其他安装的共享都是(如果我在 OSX 中使用“连接到服务器”,我想要我的 python 安装要安装在同一位置)。这是当前的Python代码:
directory = os.path.expanduser('~/Desktop')
directory = os.path.normpath(directory)
os.system("mount_smbfs //server/servershare " + directory)
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,发生了一些奇怪的事情。在查找器中,我的家有一个房子的图标,我的用户名更改为安装名称,这有点搞砸了。
我想知道如何使用JCIFS将文件从SMB共享中的一个文件夹移动到另一个文件夹.
首先,没有任何move()方法.
然后,这种方法:
SmbFile smbFromFile = new SmbFile("smb://...pool/from-here/the-file.pdf", auth);
SmbFile smbToFile = new SmbFile("smb://...pool/to-here/the-file.pdf", auth);
smbFromFile.renameTo(smbToFile);
Run Code Online (Sandbox Code Playgroud)
抛出异常, "The system cannot find the path specified."
重命名仅适用于同一路径.改变参数没有帮助.
现在,我正在使用
smbFromFile = new SmbFile("smb://...pool/from-here/the-file.pdf", auth);
smbToFile = new SmbFile("smb://...pool/to-here", auth);
smbFromFile.copyTo(smbToFile);
smbFromFile.delete();
Run Code Online (Sandbox Code Playgroud)
这感觉有些不对劲.
不幸的是,在文档中我没有找到任何关于移动文件的信息.
有人有更多的信息吗?它应该是SMB的一部分,对(SMB_COM_MOVE)?
我正在编写一个PowerShell脚本,它将在c驱动器上设置文件夹结构,然后将这些文件夹转换为共享.
使用New-SmbSharecmdlet时,我收到1332或50错误.
使用域我得到1332错误
New-SmbShare -Name "InstallerFiles" -Path "C:\SoftwareDistribution\InstallerFiles" -ContinuouslyAvailable $true -ReadAccess "domain\Authenticated Users"
New-SmbShare : No mapping between account names and security IDs was done.
At line:1 char:1
+ New-SmbShare -Name "InstallerFiles" -Path "C:\SoftwareDistribution\InstallerFile ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (MSFT_SMBShare:ROOT/Microsoft/Windows/SMB/MSFT_SMBShare) [New-SmbShare], CimException
+ FullyQualifiedErrorId : Windows System Error 1332,New-SmbShare
Run Code Online (Sandbox Code Playgroud)
如果我删除域名,我会得到50错误.
New-SmbShare -Name "InstallerFiles" -Path "C:\SoftwareDistribution\InstallerFiles" -ContinuouslyAvailable $true -ReadAccess "Authenticated Users"
New-SmbShare : The request is not supported.
At line:1 char:1
+ New-SmbShare -Name "InstallerFiles" -Path "C:\SoftwareDistribution\InstallerFile …Run Code Online (Sandbox Code Playgroud) 后:
https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
暂时停用我的防病毒软件(Avast)
以管理员模式启动我的命令行程序(例如“以管理员身份运行”),
使用Hyper-V实例启动Vagrant(2.2.3):
$ vagrant up
使用以下示例Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-16.04"
config.vm.provider "hyperv"
config.vm.network "public_network"
config.vm.synced_folder ".", "/vagrant", type: "smb"
config.vm.provider "hyperv" do |h|
h.enable_virtualization_extensions = true
h.linked_clone = true
end
end
Run Code Online (Sandbox Code Playgroud)
选择External Virtual Switch的switch to attach to the Hyper-V instance,
在Hyper-V实例启动期间由Vagrant提示时输入Windows(Admin)用户的用户名和密码
我收到以下错误:
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed …Run Code Online (Sandbox Code Playgroud) 我正在通过 golang 中的 filePath.Walk 方法迭代已安装的文件夹,但它也会返回隐藏文件。我必须跳过那些隐藏文件。对于 MaxOS 和 Linux,我们可以通过.文件名中的前缀来检测隐藏文件,但是对于 Windows,当我尝试使用GetFileAttributes提供的这种方法时"syscall",它不会检测到这些方法并抛出错误。
使用下面的方法来获取文件
err := filepath.Walk(prefix, func(docPath string, f os.FileInfo, err error) error {
以下是我尝试检测隐藏文件的方法
import (
"runtime"
"syscall"
)
func IsHiddenFile(filename string) (bool, error) {
if runtime.GOOS == "windows" {
pointer, err := syscall.UTF16PtrFromString(filename)
if err != nil {
return false, err
}
attributes, err := syscall.GetFileAttributes(pointer)
if err != nil {
return false, err
}
return attributes&syscall.FILE_ATTRIBUTE_HIDDEN != 0, nil
} else {
// unix/linux …Run Code Online (Sandbox Code Playgroud)