做了个申请iscsi存储的页面

问题

有了新的存储了,这里使用存储的大概有这么几个部分,一部分是对服务器的磁盘进行添加,一部分是有人希望他的个人或者他的部门的存储能够增加,目前还没有人有备份的需求希望有额外的磁盘(可见所有人还处于个人电脑的时代)。

以前分配存储是需要我来参与的,但是我现在不想了。为了省事,就做个页面,自己去申请,自己去挂载好了。

解决

netstat -an |findstr "8888" | find "LISTENING"
if errorlevel 1 (d:\goweb.exe)
if errorlevel 0 (....)

​ 上面就是golang的web的页面侦听8888端口,如果这个端口是listening状态的话,说明golang的这个web本地服务是ok的,如果不ok那就执行goweb.exe(我将小程序build成了windows的可执行程序,只需要创建对应的template和templates文件夹即可

小记

由于在客户端电脑上添加逻辑磁盘的动作需要管理员权限,而普通的可执行文件,不会直接要求用户的权限,所以当执行需要特殊权限的时候,会出错,或者直接退出,导致执行失败。

golang中有一个run as admin的类似的东西。参见下面的页面:

run-as-admin

还有更重要的是需要一个manifest文件来声明我们需要管理权限才能执行。

我下面贴出个例子,这里假设我们最后要生成的程序位addspace.exe,这个xml文件名为addspace.txt.(习惯了,一般以manifest结尾比较好认)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="9.0.0.0"
    processorArchitecture="amd64"
    name="addspace.exe"
    type="win32"
/>
<description>My App</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>
</assembly>

我还为这个exe增加了一个ico,这个需要将ico文件,golang文件都放在一个目录下,这样便于操作。

golang的文件名为addspace.go

manifest的文件名为addspace.txt

ico的文件名为002.ico

准备就绪,开始:

| 访问量:
Table of Contents