powershell脚本从本地服务器运行,但不从active directory中的客户端运行

powershell脚本从本地服务器运行,但不从active directory中的客户端运行,powershell,active-directory,gpo,winlogon,Powershell,Active Directory,Gpo,Winlogon,我有一个简单的powershell脚本,它从AD获取信息,并在登录时将其存储在桌面上的文件中 它位于登录组策略中。 当我与我的用户(而不是管理员)登录服务器时,脚本可以完美地工作。 当我从客户机登录时,它会运行并创建文件,但其中没有任何信息。 有什么想法吗 $strName = $env:username $ObjUser = Get-ADUser -Properties * -Filter {sAMAccountName -eq $strName} | select displayName,

我有一个简单的powershell脚本,它从AD获取信息,并在登录时将其存储在桌面上的文件中 它位于登录组策略中。 当我与我的用户(而不是管理员)登录服务器时,脚本可以完美地工作。 当我从客户机登录时,它会运行并创建文件,但其中没有任何信息。 有什么想法吗

$strName = $env:username
$ObjUser = Get-ADUser  -Properties * -Filter {sAMAccountName -eq $strName} | select displayName, title, telephoneNumber, mail, sAMAccountName, fullname

$strtitle = $objuser.Title
$strphone = $objuser.telephoneNumber
$stremail = $objUser.mail

$folderlocation = [Environment]::GetFolderPath("Desktop")

$Filenam  = "$folderLocation\\test.txt"
$SigName  = $normalName + "-" + $strtitle + "-" + $strphone + "-" + $stremail | Out-File $Filenam
确保已在目标系统上安装,并且“控制面板”中已启用“用于Windows PowerShell的Active Directory模块”,然后将以下内容添加到脚本顶部:

Import-Module ActiveDirectory

通常,PowerShell会在需要时自动加载模块,但有时您需要明确告诉它。

客户端上是否安装了AD cmdlet?您需要安装才能获取它们。1)我安装了RSAT 2)在Windows 7的控制面板中启用了“用于Windows PowerShell的Active Directory模块3)导入模块Active Directory 1)我安装了RSAT 2)启用了“用于Windows PowerShell的Active Directory模块”在windows 7的控制面板中3)导入模块activedirectory 4)获取模块-ListAvailable提供安装了activedirectory的信息5)我从客户端运行powershell ISE中的ps1 powershell脚本(不知道是否可以执行此操作),但出现错误:术语“Get ADUser”未被识别为cmdlet、函数、脚本文件的名称,或可操作程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。对于PowerShell的最新版本,AD模块应自动加载,但对于较旧版本,您可能需要在脚本顶部添加
导入模块ActiveDirectory
。如果您只是打开PowerShell提示符并运行“Get ADUser”,它是否会给出相同的错误?@T-Heron。完成。