机器被添加到安全组,以防止他们获得GPO。 我希望机器在组内30天后被移除。 理想情况下,我也希望能够生成组中机器的报告。 就像是: MachineA – 还剩10天 MachineB – 29天了
我有具体的情况。 我想从远程计算机获取MAC地址,这不在域中。 我知道远程计算机的主机名和IP地址。 我的电脑的IP地址是192.168.2.40,远程电脑的IP是192.168.2.41。 我试过了: arp -a <remote IP Address> No ARP entries found. nbtstat -n <remote hostname> Host not found. getmac /s <remote IP Address> ERROR: The RPC server is unavailable. 是否有可能从命令行,PowerShell或其他东西获取远程系统的MAC地址? 哪些条件需要设置? 谢谢。
我有这个cmdlet,我想只限于一个OU的结果: Get-ADUser -Filter {(Enabled -eq $false)} | ? { ($_.distinguishedname -notlike '*Disabled Users*') } 现在我试图使用 -searchbase "ou=FirstOU,dc=domain,dc=com" 但是,如果我使用-SearchBase我得到这个错误: Where-Object : A parameter cannot be found that matches parameter name 'searchb ase'. At line:1 char:114 + Get-ADUser -Filter {(Enabled -eq $false)} | ? { ($_.distinguishedname -notli ke '*Disabled Users*') } -searchbase <<<< "ou=FirstOU,dc=domain,dc=com" + CategoryInfo : […]
我们在我们部门正在实施新的pipe理政策:我们支持的部门中的每个人都将接收到pipe理员访问他们的计算机。 我们需要知道(在我们对这个部门执行这个“试点计划”政策的时候),他们在任何一台机器上login和login。 那么我怎么能(使用PowerShell脚本,CMD脚本或其他自动方式)找出谁login到给定的Windows 7或XP机器?
我们有一些使用PowerShell创build计划作业的脚本,作为我们应用程序的一部分。 当最近testing它们时,我注意到它们中的一些总是立即失败,并且没有产生输出(它们甚至不出现在Get-Job列表中)。 经过多天的调整,我们已经设法将它隔离到每周运行的任何工作。 下面是创build两个完全相同的工作的脚本。 当我们在我们的域上运行这个,并提供一个域用户的凭据,然后强制两个作业运行在任务计划程序GUI(右键单击 – >运行),每天运行正常(0x0结果),每周失败(0x41306)。 注意:如果我不提供-Credential参数,两个工作都可以正常工作。 如果任务是每周两次,并且以该域用户身份运行,则作业只会失败。 我找不到为什么会发生这种情况的信息,也没有想到任何每周工作会有不同的performance。 “任务计划程序”中的“历史”选项卡几乎没有任何有用信息,只是“由于用户请求而停止任务”和“任务已终止”,两者都没有有用的信息: 任务计划程序终止“\ Microsoft \ Windows \ PowerShell \ ScheduledJobs \ Test1”任务的“{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}”实例。 任务计划程序按用户“MyDomain \ SomeUser”的请求停止任务“\ Microsoft \ Windows \ PowerShell \ ScheduledJobs \ Test1”的实例“{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}”。 这是怎么回事? 为什么每周任务的运行方式不同,我怎么能find这个问题? 这是Windows Server 2008 R2上的PowerShell v3。 我一直无法在本地重现这一点,但我没有一个用户在我们的生产领域中设置相同的方式(我正在这个工作,但我希望张贴这个ASAP希望有人知道发生了什么!)。 Import-Module PSScheduledJob $Action = { "Executing job!" } $cred = Get-Credential "MyDomain\SomeUser" # Remove […]
来自MSDN RebootNodeIfNeeded :目标节点上的某些configuration更改可能需要重新启动才能应用更改。 如果值为“true”,则此属性将立即重新启动节点,而不会发出警告。 如果“false”,则configuration将完成,但必须手动重新启动节点才能使更改生效。 所以我的理解是即使需要重新启动,DSC也应该运行所有的configuration 但在我的情况是这样的,安装一个软件包后,有时DSC被标记为重新启动,DSC不运行其余的configuration 我必须再次手动执行该命令才能运行其余的configuration Start-DscConfiguration -Wait -Force -Path .\SomePath 我想迫使DSC运行所有configuration,然后通知我是否需要重新启动服务器 我如何configuration软件包的例子 LocalConfigurationManager { RebootNodeIfNeeded = $false } Package MVC3 { Name = "Microsoft ASP.NET MVC 3" Ensure = "Present" Path = "$Env:SystemDrive\AspNetMVC3ToolsUpdateSetup.exe" ProductId = "DCDEC776-BADD-48B9-8F9A-DFF513C3D7FA" Arguments = "/q" DependsOn = "[WindowsFeature]IIS" Credential = $Credential } Package MVC4 { Name = "Microsoft […]
我正在寻找一种方法来find没有在Exchange 2010中设置SEND AS SELF标志的所有用户。没有该标志的用户不能通过SMTP发送电子邮件,似乎有些用户缺less这个标志(特别是用户谁曾经是域pipe理员等) 我想这将不得不类似于下面的查询,虽然这应该显示用户(不完全是因为它隐藏了用户名)有Send-as,我正在寻找用户谁没有。 [PS] C:\Windows\system32>Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*")} Identity User Deny Inherited ——– —- —- ——— LGBSPL.LGBS/LGBS/… NT AUTHORITY\SELF False False LGBSPL.LGBS/LGBS/… NT AUTHORITY\SELF False False
我正在运行一个非常简短的脚本来简单地打印出所有用户和他们最后的login时间: get-aduser -filter * -property * | ft name,lastlogondate 我注意到只有less数用户拥有logindate值,而绝大多数是空白的。 这些活跃的用户每天都在login。 我的理解是lastlogondate是某种PowerShell别名,它将“lastlogontimestamp”用户属性值从一个大整数转换为可读date。 在过去,我已经成功地使用了这个查询,并且对于一些用户来说它也能正常工作。 我进入ADSIedit,发现所有用户在lastlogontimestamp中都有一个值。 尽pipe如此,如果我直接查询这个值,我仍然在PS中对于每个用户都是空白的: get-aduser -filter * -property * | ft名,lastlogontimestamp 这种行为在域中的所有3个DC上都是正确的。 我很困惑。 这是一个更大的脚本的一部分,该脚本报告并作用于未login超过X天的用户帐户,并且直到今天一直按季度正常运行。 在今天运行它,我注意到,很less有用户在报告中显示为陈旧,所以在排除故障时,我包括了最基本的查询,看看它会做什么。 在powershell中返回的空白时间戳肯定是错误的,为什么很less用户显示在我的报告陈旧(脚本不包括空白login值),但我不知道为什么PS中的值是空的,而在ADSI编辑器中的值对于特定的用户是绝对的人口稠密。 对于其他一些属性,如“logoncount”也是如此,只有那些受影响的用户(大多数)才能正常工作,而ADSI属性和PS显示的东西之间没有任何关系。 在这个例子中,所有3个DC都是2012 R2,我注意到这个行为也发生在我们拥有的一个较小的混合域(2008和2012 DC)的用户帐户上,但是却没有被注意到,因为几乎没有用户驻留在那里,所以它没有那么多焦点。 另一个重要的事情,如果我运行这个PS命令对计算机帐户Get-AD计算机而不是Get-ADuser我没有这样的问题,所有计算机正确报告lastlogondate没有空白。 在我致电微软之前有任何帮助?
我试图做一些我认为不应该太复杂的修复。 我的最终目标是:我有一个AD OU中的某些用户需要在Office 365中使用某个许可证,而另一个OU中的不同用户则获得不同的许可证。 我想运行的命令是: Get-ADUser -Filter * -SearchBase "ou=test,dc=our,dc=domain,dc=edu" | Set-MsolUserLicense -AddLicenses ourorg:STANDARDWOFFPACK_IW_STUDENT 但失败的回应是: Set-MsolUserLicense : The input object cannot be bound because it did not contain the information required to bind all mandatory parameters: ObjectId At line:1 char:111 + Get-ADUser -Filter * -SearchBase "ou=Test students,ou=Students,dc=campus,dc=org,dc=edu" | Set-MsolUserLicense <<<< -AddLicenses nwcu:STANDARDWOFFPACK_IW_STUDENT 单独地,这两个命令都起作用。 我可以selectOU中的所有用户,也可以手动使用带-UserPrincipalName的Set-MsolUserLicense命令来授权单个用户。 这是因为Get-ADUser不像Set-MsolUserLicense所寻找的那样返回ObjectID? […]
我在执行远程PowerShell脚本时遇到问题,该脚本应该在每天运行一次的任务pipe理器任务中更新应用程序的安装以进行自动化testing。 相当简单的脚本(下面的细节)用于成功运行约一年。 突然间,它开始失败,因为远程PowerShell脚本不能执行。 我不知道这是什么根源。 本地IT确保他们没有改变任何东西。 (我应该注意,我可以用别的东西来代替powershell脚本,但是我不打算轻易放弃,除此之外,我想知道这里有什么问题) 以下是一般设置: 未连接到域的Windows Server 2008 R2虚拟机称为目标。 在目标上分配给pipe理员组的本地用户u_target 。 域(称为域D)中的Windows Server 2008 R2虚拟机称为源。 分配给源上的pipe理员组的域D用户u_source 。 Powershell在两个虚拟机上都有2.0版本。 目标上的所有命令u_target具有pipe理权限的u_target执行,所有源上的命令u_source具有pipe理权限的u_source执行。 我三重检查,powershell已经开始作为pipe理员在所有情况下。 大约一年前,我在两台虚拟机上启用了psremoting,如下所示: 在目标上,u_target在admin中执行powershell enable-psremoting -force和set-item wsman:\local\client\TrustedHosts -value 'source' enable-psremoting -force set-item wsman:\local\client\TrustedHosts -value 'source'之后机器重新启动。 两个命令都没有任何错误地执行。 后来,当我遇到麻烦时,我用*replace了“来源”,以确保问题不是由于打字错误造成的。 在源代码中, u_source在admin powershell enable-psremoting -force 。 这台机器也重新启动。 之后,当事情失败时,目标也被添加到TrustedHosts。 应该执行的脚本原则上看起来如下: $server = 'target' #(using the FQHN) $username = 'u_target' […]