相关疑难解决方法(0)

Powershell注销远程会话

我正在尝试制定一个Powershell命令来远程注销用户.我们有一个终端服务器,程序非常不稳定,有时会锁定会话.我们必须远程注销用户,但我正在尝试编写一个Powershell语句,该语句将注销运行该脚本的人员.我用Google搜索,发现了这个命令:

Invoke-Command -ComputerName MyServer -Command {shutdown -l}
Run Code Online (Sandbox Code Playgroud)

但是,该命令返回"不正确的功能".我可以在括号中成功运行其他命令,例如Get-Process.

我的想法是让我把它放到一个脚本中,用户可以运行该脚本将自己从服务器上注销(因为当它锁定时,它们无法访问开始菜单或ALT + CTRL + END通过GUI完成它).

流程将是这样的:Bob通过RDP登录MyServer,但他的会话冻结了.在他的本地桌面上,他可以运行MyScript(包含类似于上面的命令),这将在MyServer上注销他的会话.

powershell rdp

29
推荐指数
5
解决办法
14万
查看次数

在以SYSTEM身份运行时查找当前登录的用户(无环境变量)

我创建了一个PowerShell脚本,将当前用户保存到报表中.创建此报告时,它工作正常,因为我使用$ env:USERNAME.但是,现在报告在SYSTEM帐户下作为计划任务运行,它将当前用户保存为"HOSTNAME $".是否有另一种简单的方法来获取登录用户?以下不起作用:

Get-WMIObject -class Win32_ComputerSystem | select username
Run Code Online (Sandbox Code Playgroud)

任何想法都会非常感激,因为我需要保存当前登录的用户.我还需要以NT AUTHORITY\SYSTEM运行报告来运行提升的任务.

powershell

2
推荐指数
2
解决办法
2241
查看次数

在Powershell中获取登录用户

我编写了这个Powershell脚本来获取Active Logged in Users.它在exe文件(C#)中完美运行,当我从Powershell运行时,我得到了Arithmetic operation resulted in an overflow.

找不到问题.有什么问题?

function IsUserCurrentlyLoggedIn($UserDomain, $UserName)
{
    Add-Type -Language CSharp -TypeDefinition @'
using System;
using System.Runtime.InteropServices;

namespace Test
{
    public static class EnumerateUsers
    {
        [DllImport("wtsapi32.dll")]
        static extern IntPtr WTSOpenServer([MarshalAs(UnmanagedType.LPStr)] String pServerName);

        [DllImport("wtsapi32.dll")]
        static extern void WTSCloseServer(IntPtr hServer);

        [DllImport("wtsapi32.dll")]
        static extern Int32 WTSEnumerateSessions(
            IntPtr hServer,
            [MarshalAs(UnmanagedType.U4)] Int32 Reserved,
            [MarshalAs(UnmanagedType.U4)] Int32 Version,
            ref IntPtr ppSessionInfo,
            [MarshalAs(UnmanagedType.U4)] ref Int32 pCount);

        [DllImport("wtsapi32.dll")]
        static extern void WTSFreeMemory(IntPtr pMemory);

        [DllImport("Wtsapi32.dll")]
        static extern bool WTSQuerySessionInformation(
            System.IntPtr hServer, int sessionId, …
Run Code Online (Sandbox Code Playgroud)

c# powershell

1
推荐指数
1
解决办法
403
查看次数

标签 统计

powershell ×3

c# ×1

rdp ×1