分类目录归档:Windows

Windows Server打开网页时老是提示添加网址到信任站点的设置

在Windows Server系统中,我们打开网页,或打开网站,或浏览网页时,老是跳出一个窗口提示“添加网址到信任站点”,“网页老是提示添加信任”或“每打开一次网页都要加入受信任站点”或“提示信任站点”或“打开网页提示把此网页加入可信站点怎么处理”或“打开网页提示”等等描述都是对这个问题的反应。

Server版的操作系统,的确比其它操作系统在安全上增加了不少,这是为用户所考虑的。当然,既然提供了安全性,尤其是在上网的时候,可以禁止某些活动脚本的显示,这样,就可以多方面的避免在使用IE浏览器上网的时候,计算机少遭受受木马或病毒。

然而,也正是由于此安全功能的加强,导致上网的时候,有诸多不便。比如,无论打开哪个网站,都会提示“是否需要将当前访问的网站添加到自己信任的站点中去”。如果不添加,那么,网页将无法正常打开,如果添加,那么,假如每打开一个网站都这样操作,会让人在浏览网页的时候,心情不舒畅。

当然,很多人也知道,通过设置IE的安全级别为中或中低即可,但是,总是无法成功设置,一个,一旦设置后,IE的安全设置会自动恢复到高的级别。

所以,请使用如下的方法来解决。

1. Windows Server 2003

一、根本性的解决办法

由于您在安装WIN2003的时候,默认就安装了IE的“Internet Explorer增强安全配置”,所以,要想从根本上解决这个问题,就得将其删除。

删除的方法如下:

开始→控制面版→添加/删除程序→添加/删除windows组件。


上图中,将“Internet Explorer增强的安全配置”前面的√去掉,然后“下一步”,弹出如下图的windows组件向导。


上图中,什么也不用管,会自动完成,就这样,整个过程结束,现在,您的IE浏览器的安全级别,就自然降为中或者是中低了。如此,上网的时候就不用那么麻烦了。

二、辅助性的设置方法

修改组策略后修改默认安全性

方法如下:单击开始→运行,输入“gpedit.msc”(不包括双引号)确定。

在本地策略中,依次寻找“计算机配置→管理模板→windows组件→Internet Explorer→安全区域:仅使用计算机配置”

然后将其配置为启用。

最后,在IE上右键选择“属性”→安全,在安全选项框中,你会看到安全级别是高,讲其调低点,一般调到“中”就行了,如果还是会弹出警告,就调成“中低”级别。

2. Windows Server 2008

打开“服务器管理器”,在“服务器摘要”里面有个链接“配置IE ESC”,对应相应用户禁用一下就可以了。

c#创建windows service时无法写文件的问题

今天想把windows service中的输出信息写到一个log文件。但启动时总报错。
FileStream fs = new FileStream(“d:\\job_allocator.log”, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);

但是换成下面的就可以
FileStream fs = new FileStream(System.Windows.Forms.Application.StartupPath+”\\job_allocator.log”, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);

原因就是windows service不能操作当前工作目录以外的文件。

IIS 7管理API——Microsoft.Web.Administration介绍

本文翻译整理自Carlos Aguilar Mares的blog文章:Microsoft.Web.Administration in IIS 7。
请注意本文的内容均基于Windows Vista Beta 2版本,在正式的发布版本中可能会有所改变。

Microsoft中提供了管理IIS7的一些非常强大的API——Microsoft.Web.Administration,可以很方便的让我们以编程的方式管理,设定IIS 7的各项配置。Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\System32\InetSrv)下,在项目中添加对其的引用后您就可以使用这些API了。下图显示了Microsoft.Web.Administration.dll中的主要对象。

让我们通过几个例子来使用Microsoft.Web.Administration,下面的例子均非常易懂,我就不再过多解释了。

建立一个站点(Site)

ServerManager iisManager = new ServerManager();
iisManager.Sites.Add(“NewSite”, “http”, “*:8080:”, “d:\\MySite”);
iisManager.Update();
将一个应用程序(Application)添加到一个站点

ServerManager iisManager = new ServerManager();
iisManager.Sites["NewSite"].Applications.Add(“/Sales”, “d:\\MyApp”);
iisManager.Update();
建立一个虚拟目录(Virtual Directory)

ServerManager iisManager = new ServerManager();
Application app = iisManager.Sites["NewSite"].Applications["/Sales"];
app.VirtualDirectories.Add(“/VDir”, “d:\\MyVDir”);
iisManager.Update();
运行时控制:停止一个站点

ServerManager iisManager = new ServerManager();
iisManager.Sites["NewSite"].Stop();
运行时控制:回收应用程序池(Recyciling an Application Pool)

ServerManager iisManager = new ServerManager();
iisManager.ApplicationPools["DefaultAppPool"].Recycle();
运行时控制:得到当前正在处理的请求

ServerManager iisManager = new ServerManager();
foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) {
Console.WriteLine(“W3WP ({0})”, w3wp.ProcessId);

foreach (Request request in w3wp.GetRequests(0)) {
Console.WriteLine(“{0} – {1},{2},{3}”,
request.Url,
request.ClientIPAddr,
request.TimeElapsed,
request.TimeInState);
}
}
还有一个有用之处是Microsoft.Web.Administration提供了对*.config(例如web.config)文件的编辑功能,让您再也不用像修改普通XML文件一样修改*.config了。但是原作者说他将在今后的Post中详细说明,我也只暂且写到这里了。

hyper-v虚拟机的远程控制

假设虚拟机都是win2003系统,其他类似,步骤如下:
1.配置“路由和远程访问”,参照文章:http://mwt666.blog.51cto.com/64376/265362/
2.建立虚拟机,并在虚拟机里安装radmin server,用于远程控制和文件传输;
3.在“路由和远程访问”->“IPv4”->“NAT”->”本地连接4″(物理网卡)->右键”属性”->”服务和端口”,添加服务,服务描述随便写,协议选“tcp”,传入端口和radmin配置的保持一致,专用地址填写虚拟机的IP,传出端口和传入端口一致。

win2003开启远程桌面登录

启动win server 2003远程登录步骤:

1) 开始 –>所有程序 –>管理工具 –>计算机管理 –>本地用户和组 –>用户 –>右侧,单击右键 –>新用户…,创建新用户。

2) 点击创建的新用户,选择属性 –>系属于… –>添加… –>高级… –>立即查找 –>’remote desktop users’ –>确定 –>确定 –>确定。

3) 控制面板 –>管理工具 –>服务 –>开启“Terminal services”服务。

4)我的电脑 –>属性 –>远程 –>勾选“启用这台计算机上的远程桌面” –>确定。

为避免机器重启后,远程桌面连接失败,最好关闭防火墙,或者在防火墙的例外中加入“远程登录”。

应用程序开机无法自动启动的问题

首先,有几种方法可以让一个应用程序在开机时自动运行。

1。写注册表;

2。写服务;

3。拷贝可执行文件的链接到启动项目录;

不管是哪种方式都有可能受到杀毒软件的提醒和保护,允许即可。

但今天遇到的问题是启动项里已经写进去了,但大部分用户开机还是运行不了,后来发现是因为开机时网络连接还没有连接就启动了程序,在连接数据库时有异常没有捕捉导到程序出错。

可以在开机程序相关的代码里加入判断网络连接重试,或在DAO层加入判断重试都可以。

windows server 2008 设置远程桌面多人同时登录

1.gpedit.msc打开组策略,依次展开“计算机配置”->”管理模板”->”Windows组件”->”远程桌面服务”->”远程桌面会话主机”->”连接”->”限制连接的数量”

策略编辑器

2.在打开的窗口设置允许的最大连接数

启用连接数

3.然后,依次打开“开始”->”管理工具”->”远程桌面服务”->”远程桌面会话主机配置”,取消选择“限制每个用户只能进行一个会话”

取消同一用户多个连接限制

语言文件 po 和 mo 的互相转换

没事想汉化一些 wordpress 插件玩,今天找到两个不错的软件,推荐给大家。

反编译 mo 文件成 po 文件,使用 gettext 的 msgunfmt.exe 工具,命令如下

msgunfmt.exe d:\test.mo -o d:\test.po

编码 po 文件为 mo 文件,使用 poedit 的 msgfmt.exe 工具,命令如下

msgfmt.exe -o d:\test.mo d:\test.po

如何汉化 po 文件及编译成 mo 文件

本文介绍如何 汉化、翻译 po 文件 及 编译、转换成 mo 文件

我们在使用 WordPress 及其插件时,经常可以找到汉化的版本,一般是通过一个汉化过(翻译过)的 mo 文件来实现( WordPress 仅可识别 mo 文件),实际上不单 WordPress ,包括很多桌面应用程序都是是依靠 po 文件或 mo 文件来实现多语言版本。如果原作者提供了一个 po 文件或 mo 文件,那么我们就可以通过相关工具来自行汉化,或者翻译成其他语言版本。因为 mo 文件不能直接编辑,所以我们得编辑 po 文件,若仅有 mo 文件,那么就应该先把它转换成 po 文件后再进行编辑翻译。

至于编辑工具,由于 po 文件本身就是一个文本文件,所以任何文本编辑器都可以使用。除了专门编辑 po 文件的 poEdit ,还推荐使用 poEditEditPlusUltraEdit或者你喜欢的 vivim

我们来看一个 po 文件,这是 yskin 制作的 WordPress 2.11 中文版 po 文件 中的一部分

msgid “”
msgstr “”
“Project-Id-Version: WordPress 2.1-1.0\n”
“PO-Revision-Date: 2007-02-22 12:35+0800\n”
“Last-Translator: yskin \n”
“MIME-Version: 1.0\n”
“Content-Type: text/plain; charset=utf-8\n”
“Content-Transfer-Encoding: 8bit\n”
“X-Poedit-Basepath: d:/wordpress\n”
“X-Poedit-Language: Simplified Chinese\n”
“X-Poedit-Country: China\n”
“X-Poedit-SourceCharset: utf-8\n”
“X-Poedit-KeywordsList: _e;__;__ngettext:1,2\n”
“Language-Team: \n”
“POT-Creation-Date: \n”
“Plural-Forms: nplurals=1; plural=0;\n”
“X-Poedit-SearchPath-0: .\n”

# 第一条要翻译的字符串。
#: wp-comments-post.php:15
msgid “Sorry, comments are closed for this item.”
msgstr “对不起,这篇文章禁止评论。”

上面是这个 po 文件的最初部分,各行意思一目了然,注意编码尽可能采用UTF-8。

# 第一条要翻译的字符串。
#: wp-comments-post.php:15
msgid “Sorry, comments are closed for this item.”
msgstr “对不起,这篇文章禁止评论。”

这段就是po文件的主体结构了,每一个翻译项占一段。#: wp-comments-post.php:15 说明字符串相应的位置; msgid “Sorry, comments are closed for this item.” 翻译前的原文; msgstr “对不起,这篇文章禁止评论。” 翻译后的字符串。以此类推,即可完成所有资源的翻译。非常简单。

那么如何将 po 文件编译成(转换) mo 文件呢?

  1. 如果你使用的是 poEdit ,按 Ctrl + s 保存就会自动生成相应的 po 文件和 mo 文件;
  2. 或者在命令提示符界面,使用 msgfmt demo.po 命令将po文件编译为可用的 demo.mo 文件,用 msgunfmt demo.mo 命令转回 demo.po 文件,这些命令在 poEdit 的安裝目录下有,可以拷贝msgunfmt.exe 、msgfmt.exe 及相关链接库文件 gettextlib.dll 、gettextsrc.dll 、iconv.dll 、intl.dll 到 c:/windows/system32 目录下,或者安装 .Net 2.0环境。

另外推荐一款 GUI 界面的转化程序 po2mo.exe ,作者的说明:该程序是调用 msgfmt.exe 和 msgunfmt.exe 文件,从而进行po 、mo 文件互转。文件是用C#写的,需要.Net 2.0环境。

名次解释:什么是po文件?什么是mo文件?什么是GNU gettext?什么是 I18N?什么是 L10N ?I18N 和 L10N 的区别?