Articles of Windows

Windows唯一标识符?

所以有这个软件。 当安装它以某种方式(可能读取文件或registry项)识别我的Windows操作系统。 它应该只为每台计算机执行一次任务。 如果我卸载程序并重新安装,软件会记住它已经安装,因此不要执行任务。 如果我使用系统还原,软件也不会执行任务。 如果在安装之前加载系统映像,软件也不会执行任务。 如果我重新安装一个新窗口,那么只有软件才能完成这个任务。 IP甚至没有关系。 一切都是一样的,除了它是Windows操作系统的全新副本。 所以我想这个软件读取某种独特的操作系统标识符,然后连接到服务器来创build一个用户configuration文件。 所以问题是? 那些软件用来检查系统标识符的文件是什么? 到目前为止,我已经发现有registry下的条目。 WindowsNT / CurrentVersion和Windows /encryption,但软件不依赖于他们。 我应该在哪里search? 任何软件,可以帮助我找出?

在Java或命令行实用工具中使用本机SSPI API获取服务的Kerberos票据有没有办法?

我想在Java中使用Kerberos实现单点login,并已成功地使用Windowslogin中的故障单创build了服务的故障单。 不幸的是,我只能在启用registry项“allowtgtsessionkey”时创build该票证。 我收到一个exception,只要我禁用它,消息“标识符不符合期望值(906)”。 registry项logging在http://java.sun.com/j2se/1.5.0/docs/guide/security/jgss/tutorials/Troubleshooting.html和http://support.microsoft.com/kb/308339上 。 不幸的是我没有访问我的应用程序将被使用的计算机上的registry,所以我正在寻找一种方法来做到这一点,而不必修改它。 当我在Internet Explorer或Mozilla Firefox上通过SPNEGO进行单点login时,他们会在我的票据caching中创build一个服务票据,所以肯定有办法在不设置registry项的情况下执行此操作。 有没有人有一个想法如何在Java中做到这一点? 感谢您的帮助,memminger 更新:我放弃这个问题。 Windowsregistry项禁止访问Ticketcaching内的票证(更确切地说:主体)。 Windows上的Java使用自己的GSSAPI实现,我想这需要访问票证来创build一个服务票据。 SSPI Windows API可以完全访问Ticketcaching,因此可以创build服务票据。 这个API被Web浏览器使用,但是它没有被Java使用(根据http://java.sun.com/developer/technicalArticles/J2SE/security/#3 )。 当我在访问过一次网页后禁用了SSPI(所以创build了一个服务票据)后,我仍然可以访问这个页面,所以使用命令行实用工具就足以使用SPPI API创build服务票据了。 对于我们来说,这意味着我们可以放弃单点login(这对我们来说是不可接受的),或者我们在应用程序的客户端进行authentication(因为我们只能读出用户名,而不能validation服务器),这是一个重大的安全风险。 另一个例子是安全约束越强,安全漏洞就越大,因为它们变得太复杂了。

无法在Powershell中运行R.exe

我经常发现在命令行(Windows)上运行R更有用。 但是,当我在Powershell中尝试它时,我倾向于遇到问题,但是这很容易通过首先运行cmd克服,然后工作。 这是我做R CMD BATCH时得到的错误 Invoke-History: A positional parameter cannot be found that accepts the argument 'BATCH' 后来我意识到r是一个别名,它返回了直接的过去命令,因此我无法运行R. 随后,我发现使用完整的文件R.exe可执行文件(即R.exe )或使用Rcmd.exe(即Rcmd BATCH … )工作。 但是,我只是好奇,是否有一个工作,以防一个类似的冲突?

在文件之外存储元数据:现代Windows上的任何标准方法?

我的C# 应用程序将文件从远程文档pipe理系统同步到文件系统。 文档pipe理系统具有与每个文件相关联的元数据(上次审计的date,保密性,作者…),但不存储在每个文件中。 这些文件可以是任何东西(bmp,xwd,pdf,未知的二进制文件) 我想使这些元数据在本地Windows文件系统上可见。 但是我不能在每个文件中存储元数据。 例如,更改文件的保密性不能修改文件的校验和。 什么是最好的方式来存储这个元数据? 我听说过NTFS 扩展文件属性 ,是否适用于我的场景? 这个关于设置扩展文件属性的问题有所有答案都在讨论修改文件本身,我必须避免这个问题。 如果没有标准的解决scheme,那么我会将元数据存储在本地的SQLite数据库中。 但我更喜欢使用标准的解决scheme,以便其他应用程序(资源pipe理器,图库应用程序等)可以显示/修改他们理解的属性(如“作者”)

在Windows上手动安装Java?

我已经看到许多产品与JDK捆绑在一起,我不知道是否有一种方法可以通过简单地将内容解压到一个目录来安装JDK,所以在添加/删除程序中没有创build图标,没有registry项等。 同样在这种情况下:我们如何configuration浏览器的Java插件? 我们如何configurationJava的控制面板中的设置?

x64进程可以占用4GB RAM多less内存

我有一个x64应用程序。 这是一个有点沉重的应用程序(在线程数,内存需求等方面)。 我在4GB RAM 64位Windows7四核心机器上运行此应用程序。 但是我注意到,我的应用程序需要大约2.2-2.3 GB的RAM,它崩溃了。 这是否需要行为? 最大的64位应用程序可以从4GB的内存只需要2.3-2.4 GB的RAM?

在Windows 64位机器上安装pyenchant

我想安装PyEnchant进行拼写检查,并且需要在我的机器上安装附魔 。 但是我能find的所有.exe文件都是针对win32系统的。 有没有其他的方式来安装在Windows 64位机器上?

无法启动用Python编写的Windows服务(win32serviceutil)

我正在尝试启动一个简单的服务示例: someservice.py: import win32serviceutil import win32service import win32event class SmallestPythonService(win32serviceutil.ServiceFramework): _svc_name_ = "SmallestPythonService" _svc_display_name_ = "display service" def __init__(self, args): win32serviceutil.ServiceFramework.__init__(self, args) self.hWaitStop = win32event.CreateEvent(None, 0, 0, None) def SvcStop(self): self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING) win32event.SetEvent(self.hWaitStop) def SvcDoRun(self): win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE) if __name__=='__main__': win32serviceutil.HandleCommandLine(SmallestPythonService) 当我跑步 python someservice.py install 一切正常,服务出现在Windows服务列表中,但 python someservice.py start 错误1053:服务没有及时响应启动或控制请求“,但没有任何延迟。 我pythonservice.exe了一个解决scheme,这表示它发生时, pythonservice.exe无法findpythonservice.exe 。 它实际上不能,所以我将C:\Python27添加到PATH 。 现在pythonservice.exe运行正常,但错误1053仍然存在。 我运行Python […]

NDISfilter驱动程序“FilterReceiveNetBufferLists处理程序不被调用

我正在开发一个NDISfilter驱动程序,并且在某些情况下(例如打开Wireshark或单击它的“Interface List”button),我从不调用FilterReceiveNetBufferLists (networking被阻止)。 但是当我开始捕获, FilterReceiveNetBufferLists变得正常(networking恢复),这是如此奇怪。 我发现,当我在WinPcap驱动程序的OID原始位置(NPF_IoControl的BIOCQUERYOID&BIOCSETOID开关分支)的NdisFOidRequest函数中手动返回NDIS_STATUS_FAILURE时,驱动程序不会阻塞networking(winpcap无法工作)。 NdisFOidRequest调用有问题吗? Packet.c中产生OID请求的DeviceIO例程: case BIOCQUERYOID: case BIOCSETOID: TRACE_MESSAGE(PACKET_DEBUG_LOUD, "BIOCSETOID – BIOCQUERYOID"); // // gain ownership of the Ndis Handle // if (NPF_StartUsingBinding(Open) == FALSE) { // // MAC unbindind or unbound // SET_FAILURE_INVALID_REQUEST(); break; } // Extract a request from the list of free ones RequestListEntry = ExInterlockedRemoveHeadList(&Open->RequestList, &Open->RequestSpinLock); if […]

如何在Windowsbatch file中提取版本号?

我需要从string中提取主要,次要和修订号码,并实现这一点我试图分割一个batch file中的string使用'。 字符作为分隔符。 例如:如果用户在命令提示符中input1.0.2 ,我应该能够提取 1 – 主要版本, 0 – 次要版本和 2 – 修订 我试图使用FOR命令来实现这一点,但只是没有通过。 任何人都可以帮助我的提取部分 @ECHO OFF & SETLOCAL set /p "ReleaseVersion=Please specify the software release version : " :nextVar for /F "tokens=1* delims=." %%a in ("%ReleaseVersion%") do ( set %%a set ReleaseVersion=%%b ) if defined ReleaseVersion goto nextVar @PAUSE