背景
我有一个电子邮件系统(CodeTwo),它使用 AD 属性为用户自动创建签名。我的许多用户在本地 AD 和 Office 365 / AAD 之间同步,但较新的用户仅是云用户,也就是说,它们是在 Office 365 管理门户中创建的,不与本地用户同步。
问题
我正在使用该属性,该属性可以通过 Windows 管理工具Active Directory 用户和计算机companyName的属性对话框轻松设置。我已设置Azure AD Connect以在同步中包含此属性。对于我的同步用户,此设置按预期工作 - 使用类似命令,我可以看到或属性设置正确。然而,对于仅使用云的用户,该值始终为空。Get-CsOnleUserGet-AzureADUserCompanyCompanyName
我找不到设置此值的方法 - 该属性要么是只读的,要么更改属性的值并使用Set-CsUser或Set-AzureADUser没有效果。
我注意到我们有一些 AD 扩展属性,特别是一个名为extension_0000000000000000000000000000000_company- 我可以为云用户设置此属性,但它似乎不会影响从上面的查询返回的对象。同样,签名盖章系统也不会拾取它。
问题
如何companyName在 Azure AD / Office 365 中设置用户属性?最好使用 PowerShell,但现阶段是否愿意接受任何选项?
我一直在尝试格式化命令的输出表Get-ChildItem。
我创建了一个脚本来扫描 中 定义的目录,$Source以搜索$Months和定义的文件$Size。这工作正常,但某些目录的长度超过 248 个字符,并且我收到文件路径太长错误。
所以我想$Source在输出到表中的目录列时不包含路径。
例如我想看到这个:
| file1.csv | Last Write Access | .\Desktop\Folder1 |
| file2.txt | Last Write Access | .\Desktop\Folder2 |
Run Code Online (Sandbox Code Playgroud)
当 $Source 定义为C:\users\User1
这是我当前的代码:
| file1.csv | Last Write Access | .\Desktop\Folder1 |
| file2.txt | Last Write Access | .\Desktop\Folder2 |
Run Code Online (Sandbox Code Playgroud) 我正在创建一个具有多种功能的 power-shell 模块,其中一个需要在运行过程中进行用户输入。如何使用函数来请求输入而不将其作为参数提供?甚至有可能吗?
我无法使用 Powershell 从某个日期获得时差,如下所示:
$Date = '11/12/2001'
(New-TimeSpan -Start (Get-Date -Date $Date) -End (Get-Date)).ToString("'yyyy' Years 'MM' Months 'dd' Days 'hh' Hours 'mm' Minutes 'ss' Seconds'")
Run Code Online (Sandbox Code Playgroud)
Exception calling "ToString" with "1" argument(s): "Input string was not in a correct format."
At line:2 char:1
+ (New-TimeSpan -Start (Get-Date -Date $Date) -End (Get-Date)).ToString ...
Run Code Online (Sandbox Code Playgroud)
为什么我不能得到年和月的过去?
Windows 域。
我们在 5 点关门。
我被要求在 5:15 禁用某些计算机/用户。
我知道如何在小时内限制对文件系统的访问,但是
a) 没有提供足够的宽限时间或太多,并且
b) 没有足够的限制,它只会削弱
我有一个 PowerShell 脚本。这:
Get-Printer | ft name,portname,location | Export-Csv c:\intel\intvprint2.csv -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
但这没有任何好处:(我制作了脚本,但结果是文件错误数据。
这使得:
"ClassId2e4f51ef21dd47e99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo","shapeInfo","groupingEntry"
"033ecb2bc07a4d43b5ef94ed5a35d280",,,,"Microsoft.PowerShell.Commands.Internal.Format.TableHeaderInfo",
"9e210fe47d09416682b841769c78b8a3",,,,,
"27c87ef9bbda4f709f6b4002fa4af63c",,,,,
Run Code Online (Sandbox Code Playgroud)
但现在看到这个:
Get-Printer | ft name,portname,location
name portname location
---- -------- --------
9620HP2055DN 172.17.252.130 loc1
9590HP2055DN 172.17.239.45 loc2
Run Code Online (Sandbox Code Playgroud)
为什么剧本不好?
帮助!
我正在尝试在我的主机上安装 PowerShell 2。它运行的是 Vista x64 家庭高级版。我正在使用具有管理员权限的帐户运行。
我试过在超级用户上问这个问题,但迄今为止没有答案。
这是我到目前为止所做的:
这让我来到这里。任何想法可能会出错?
我还应该补充一点,我还没有在我的系统上安装 Vista x64 SP1。自动更新尝试安装 SP1,但失败,没有特定的错误消息。由于我的系统在没有 SP1 的情况下工作,而且我正在等待我的下一台机器(将运行 Win7),所以我并不特别倾向于安装 SP1。
我正在尝试使用 Powershell 从 Active Directory 2003 导出一些用户信息的列表。
到目前为止,我可以使用以下内容显示特定的属性列表:
if ( (Get-PSSnapin -Name Quest.ActiveRoles.ADManagement -ErrorAction SilentlyContinue) -eq $null )
{
Add-PsSnapin Quest.ActiveRoles.ADManagement
}
get-qaduser -company "Company","Consultant" `
-enabled -DontUseDefaultIncludedProperties -IncludedProperties 'givenName','sn','telephoneNumber','mail','company' `
| sort-object `
| format-table givenname,sn,company,telephonenumber,mail `
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将输出通过管道传输到 export-csv,而不是 format-table,我将获得每个域对象的所有属性。
如果我执行以下操作:
| format-table givenname,sn,company,telephonenumber,mail `
| export-csv -Delimiter `t -NoTypeInformation -Path c:\scripts\adexport.csv
Run Code Online (Sandbox Code Playgroud)
我得到了没有数据的正确行数,除了一些标识符(这是有道理的 - 因为对象没有被传递到 export-csv,只是一行文本)。
如何将特定字段导出到文件?
我正在使用 Quest 的 ActiveDirectory powershell CMDLET ( http://www.quest.com/powershell/activeroles-server.aspx ) 从 AD 获取数据。
你知道notepadPowerShell或cmd.exe中的命令吗?我想对NotePad2做同样的事情我想在 PowerShell 中键入以下命令并打开 me.txt 文件;
PS C:\Apps> no -me
Run Code Online (Sandbox Code Playgroud)
我该如何配置?
在 Windows XP 中运行的 PowerShell 2.0 中,我执行以下命令:
Restart-Computer
Run Code Online (Sandbox Code Playgroud)
并收到以下消息:
Windows 无法结束该程序。完成操作可能需要更多时间。
要返回 Windows 并检查程序状态,请单击取消。
如果您选择立即结束程序,您将丢失所有未保存的数据。要立即结束程序,请单击立即结束。
无论我是从 PowerShell 还是从 Windows 本身重新启动,都会发生这种情况。知道如何重新启动将在没有提示的情况下关闭 PowerShell 控制台的计算机吗?