首页 > 解决方案 > 如何获取当前登录的人的用户名并进一步使用?

问题描述

我为标题道歉,它并没有说太多。请看一下我的脚本

$env:UserName
$FolderPath = C:\Users\UserCurrentlyLoggedIn\Desktop\5.1.0

# Function for the pop up message
function PopUp
{
Add-Type -AssemblyName System.Windows.Forms
$global:balmsg = New-Object System.Windows.Forms.NotifyIcon
$path = (Get-Process -id $pid).Path
$balmsg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)
$balmsg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning
$balmsg.BalloonTipText = ‘Back up directories have reached maximum capacity!'
$balmsg.BalloonTipTitle = "Files may not be backed up!"
$balmsg.Visible = $true
$balmsg.ShowBalloonTip(100)
}

if ((((gci -path $FolderPath -Recurse | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum/ 1MB),2) -gt 110.00)
{
 PopUp
 } Else {
 'Size of folders is alright'
 }

所以,我想用这个烂摊子实现的基本上是:脚本必须检查位于 C:\Users\UserCurentlyLoggedIn 下的几个文件夹的大小,如果这些文件夹的大小大于(当前为 110MB),那么必须显示弹出消息。否则,它必须什么都不做。总体而言,如果我提供文件夹的确切路径,它会起作用,但是我想将它(脚本)与 GPO 放在组织单元中,所以我正在寻找将当前登录的人的用户名放在上面的方法脚本将要运行时的机器,代替“UserCurrentlyLoggedIn”。

再次,我为我的胡言乱语的解释道歉。我对脚本和东西有点陌生,我什至很难正确解释我想要做什么。

我感谢所有的帮助!

标签: powershell

解决方案


尝试用你的第二行替换

$FolderPath = "C:\Users\$($env:USERNAME)\Desktop\5.1.0"

您将始终获得当前用户的用户名。 在此处输入图像描述


推荐阅读