GVKun编程网logo

注册表修改 computer name(注册表修改屏保时间)

4

关于注册表修改computername和注册表修改屏保时间的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于@PathVariable(value="name")Stringname正则表达

关于注册表修改 computer name注册表修改屏保时间的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于@PathVariable (value="name") String name 正则表达式校验、@RequestParam 注解使用:Name for argument type [java.lang.String] not available, and parameter name inf...、active-directory – 部署XP计算机无法使用Prestaged Computer Name、c – 成员声明`decltype(name)name;`在局部结构中允许的名字是指封闭的范围?等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

注册表修改 computer name(注册表修改屏保时间)

注册表修改 computer name(注册表修改屏保时间)

修改 windows server 的机器名的时候,发现 change 按钮是 disable 的。

手动修改不了,用注册表 regedit 来修改。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName

在这两项右侧栏修改 ComputerName 的值为任意需要的字符

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

在该项右侧栏修改 NV Hostname 和 Hostname 的值。

 

修改完后在 “我的电脑”-“属性” 中查看 “计算机名称” 已经修改成功

Autoconfiguration IPV4 

@PathVariable (value=

@PathVariable (value="name") String name 正则表达式校验

表示用户只能输入数字字母汉字
@RequestMapping(value="likeGoodsSpecifications/{name:[A-Za-z0-9\\u4e00-\\u9fa5]+}",method = RequestMethod.GET)
public JSONObject likeGoodsSpecifications(@PathVariable(value="name") String name);

测试 1、输入中国能正常匹配正则表达式

测试 2 输入数字也能正常匹配到

测试 3 输入字母

测试 4 输入数字字母汉字

 

不能匹配演示

不能匹配

 

@RequestParam 注解使用:Name for argument type [java.lang.String] not available, and parameter name inf...

@RequestParam 注解使用:Name for argument type [java.lang.String] not available, and parameter name inf...

详细错误信息

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.] with root cause java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.
2018-03-01 03:39:35.038 ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet][http-nio-8080-exec-1]: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.] with root cause java.lang.IllegalArgumentException: Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.
	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:168)
	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.getNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:145)
	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:94)
	at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)
	at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:158)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

 

解决思路

需要指定 @RequestParam 的 name 属性值

源码分析

 AbstractNamedValueMethodArgumentResolver.java

private NamedValueInfo getNamedValueInfo(MethodParameter parameter) {
    NamedValueInfo namedValueInfo = this.namedValueInfoCache.get(parameter);
    if (namedValueInfo == null) {
        namedValueInfo = createNamedValueInfo(parameter);
        namedValueInfo = updateNamedValueInfo(parameter, namedValueInfo);
        this.namedValueInfoCache.put(parameter, namedValueInfo);
    }
    return namedValueInfo;
}

/**
 * Create the {@link NamedValueInfo} object for the given method parameter. Implementations typically
 * retrieve the method annotation by means of {@link MethodParameter#getParameterAnnotation(Class)}.
 * @param parameter the method parameter
 * @return the named value information
 */
protected abstract NamedValueInfo createNamedValueInfo(MethodParameter parameter);

/**
 * Create a new NamedValueInfo based on the given NamedValueInfo with sanitized values.
 */
private NamedValueInfo updateNamedValueInfo(MethodParameter parameter, NamedValueInfo info) {
    String name = info.name;
    if (info.name.isEmpty()) {
        name = parameter.getParameterName();
        if (name == null) {
            throw new IllegalArgumentException(
                    "Name for argument type [" + parameter.getNestedParameterType().getName() +
                    "] not available, and parameter name information not found in class file either.");
        }
    }
    String defaultValue = (ValueConstants.DEFAULT_NONE.equals(info.defaultValue) ? null : info.defaultValue);
    return new NamedValueInfo(name, info.required, defaultValue);
}

RequestParamMethodArgumentResolver.java
@Override
protected NamedValueInfo createNamedValueInfo(MethodParameter parameter) {
    RequestParam ann = parameter.getParameterAnnotation(RequestParam.class);
    return (ann != null ? new RequestParamNamedValueInfo(ann) : new RequestParamNamedValueInfo());
}


private static class RequestParamNamedValueInfo extends NamedValueInfo {

    public RequestParamNamedValueInfo() {
        super("", false, ValueConstants.DEFAULT_NONE);
    }

    public RequestParamNamedValueInfo(RequestParam annotation) {
        super(annotation.name(), annotation.required(), annotation.defaultValue());
    }
}

 

active-directory – 部署XP计算机无法使用Prestaged Computer Name

active-directory – 部署XP计算机无法使用Prestaged Computer Name

我很高兴使用WDS部署 Windows 7映像几个月了,一切都很顺利.
我已经预先安排了AD中的计算机名称,因为我们的一个客户希望不同房间中的不同计算机可以通过计算机名称轻松识别.
他现在要求提供XP图像,因为有些视频制作软件无法在Windows 7或Vista上运行(不管怎样都不想使用Vista)我创建了一个图像,并且一直在测试它的自动部署.我已经创建了一个sysprep.inf文件,目前它正好加入域,获取所有正确的设置等.唯一不做的就是让计算机正确,似乎根据用户随机创建一个PC已注册.

我已经粘贴了下面的sysprep.inf文件.

;SetupMgrTag
[Unattended]
    OemSkipEula=Yes
    InstallFilesPath=C:\sysprep\i386
    TargetPath=\WINDOWS

[GuiUnattended]
    AdminPassword=*
    EncryptedAdminPassword=NO
    OEMSkipRegional=1
    OEMDuplicatorstring=JT-v2
    TimeZone=85
    OemSkipwelcome=1

[UserData]
    ProductKey=*Product Key*
    FullName="User"
    OrgName="*Organisation*"
    ComputerName=*

[display]
    BitsPerPel=32
    Xresolution=1280
    YResolution=720
    Vrefresh=60

[RegionalSettings]
    LanguageGroup=1
    SystemLocale=00000809
    UserLocale=00000809
    InputLocale=0809:00000809

[Identification]
    JoinDomain=*domain*.local
    DomainAdmin=*domain*\administrator
    DomainAdminPassword=*password*

[Networking]
    InstallDefaultComponents=Yes

[branding]
    BrandIEUsingUnattended=Yes

[Proxy]
    Proxy_Enable=0
    Use_Same_Proxy=0

在setupmgr.exe中,我将ComputerName设置为%MACHINENAME% – 它似乎在此处显示为*.当我在inf文件中将其更改为%MACHINENAME%时,它仍然无法获得正确的名称和错误“输入的计算机名称格式不正确…”

此外,一旦我确信我的sysprep文件正常工作,使用我现有的WDS服务器(Server 2008R2 SP1,WDS 6.1.7600.16385)部署此XP映像的最佳方法是什么,我可以轻松捕获图像,但WDS期望xml文件不是XP使用的inf文件.我看过this博客
并按照以下说明操作:

The next part of our completely unattended setup is an XP sysprep.inf
file. Again you can store this on the WDS server – navigate to your
RemoteInstall share again and under the Images folder you’ll see your
WDS Image Groups. As my image is called “winxpsp2.wim”,I’ll create a
folder called winxpsp2. In this folder,I’ll create the $OEM$
directory structure,within which I’ll put a folder called $1,within
which I’ll make a folder called sysprep,which is where the
sysprep.inf file will go. Phew! For reference,in my enviroment,this
means that we’re looking at D:\RemoteInstall\Images\Windows
XP\winxpsp2\$OEM$\$1\sysprep\sysprep.inf.

但是,当我这样做时,它似乎没有拿起存储在这个位置的sysprep文件.
有没有人有办法让这个工作.

好吧,让我们从sysprep.inf文件开始.

这只是一个不解释变量的平面文本文件. *用于表示随机选择的计算机名称.当WDS通过无人参与文件进行复制时,变量%MACHINENAME%和Others将被WDS替换为实际文本字符串.因此,对于任何此类工作,您必须使用WDS进行部署.

上面的说明确实有效.确保您已创建文件夹(在上面的示例中为winxpsp2)结构以匹配您捕获的wim图像.还要确保您在unattend.xml中指定的凭据具有文件夹结构的权限.

c – 成员声明`decltype(name)name;`在局部结构中允许的名字是指封闭的范围?

c – 成员声明`decltype(name)name;`在局部结构中允许的名字是指封闭的范围?

例:
int main()
{
    int a = 0;
    struct X
    {
        decltype(a) a;
    };
    return 0;
}

decltype(a)是指主要的本地a,而它声明的成员共享相同的名称.

Clang编译没有任何问题,MSVC14也是如此.

G++抱怨说,添加 – 无限制使它通过

prog.cc:6:21: error: declaration of 'int main()::X::a' [-fpermissive]
         decltype(a) a;
                     ^
prog.cc:3:9: error: changes meaning of 'a' from 'int a' [-fpermissive]
     int a = 0;

哪种行为符合标准?

解决方法

我相信这违反了[basic.scope.class] / 1(N3337):

The following rules describe the scope of names declared in classes.

1) […]

2) A name N used in a class S shall refer to the same declaration in its context and when re-evaluated in the completed scope of S. No diagnostic is required for a violation of this rule.

由于decltype(a)是指在声明成员变量之前的封闭范围内的声明,而是在“X的完整范围内重新评估”时引用该成员,该程序是不正确的.不需要诊断,但GCC提供一个(尽管它是相当神秘的).所有三个编译器的行为都是有效的.

今天关于注册表修改 computer name注册表修改屏保时间的分享就到这里,希望大家有所收获,若想了解更多关于@PathVariable (value="name") String name 正则表达式校验、@RequestParam 注解使用:Name for argument type [java.lang.String] not available, and parameter name inf...、active-directory – 部署XP计算机无法使用Prestaged Computer Name、c – 成员声明`decltype(name)name;`在局部结构中允许的名字是指封闭的范围?等相关知识,可以在本站进行查询。

本文标签: